Google Cloud มีเครื่องมือให้คุณตรวจสอบความน่าเชื่อถือของโปรเจ็กต์ ด้วย Google Cloud Monitoring และแก้ไขข้อบกพร่องด้วยบันทึกข้อผิดพลาดของ Google Cloud Logging เมื่อใดก็ตามที่เกิดความล้มเหลวในการตอบสนองความตั้งใจของผู้ใช้ ไปป์ไลน์ข้อมูลวิเคราะห์ของ Google Home จะบันทึกความล้มเหลวนั้นในเมตริกของคุณ และ เผยแพร่บันทึกข้อผิดพลาดในบันทึกของโปรเจ็กต์
การแก้ปัญหาข้อผิดพลาดมี 2 ขั้นตอนดังนี้
- ตรวจสอบสถานะของโปรเจ็กต์ด้วยเมตริกสมาร์ทโฮม
- ตรวจสอบปัญหาโดยดูคำอธิบายข้อผิดพลาดโดยละเอียดใน บันทึกข้อผิดพลาด
คุณเลือกทดสอบ Action ได้โดยแชร์กับผู้ใช้รายอื่น โปรดจัดการข้อผิดพลาดและข้อยกเว้น อย่างเหมาะสม
การตรวจสอบข้อผิดพลาด
คุณสามารถใช้ Google Cloud Monitoring dashboards เพื่อเข้าถึงเมตริกโปรเจ็กต์ แผนภูมิที่สำคัญบางรายการมีประโยชน์อย่างยิ่ง สำหรับการตรวจสอบคุณภาพและการแก้ไขข้อบกพร่อง ได้แก่
- แผนภูมิอัตราความสำเร็จเป็นแผนภูมิแรกที่ควรเริ่มดูเมื่อคุณ ตรวจสอบความน่าเชื่อถือของโปรเจ็กต์ การลดลงในแผนภูมินี้อาจ บ่งบอกถึงการหยุดทำงานสำหรับผู้ใช้บางส่วนหรือทั้งหมด เราขอแนะนำให้ ตรวจสอบแผนภูมินี้อย่างใกล้ชิดเพื่อดูความผิดปกติหลังจากการเปลี่ยนแปลง หรือการอัปเดตโปรเจ็กต์แต่ละครั้ง
- แผนภูมิเวลาในการตอบสนองของเปอร์เซ็นไทล์ที่ 95 เป็นตัวบ่งชี้ที่สำคัญว่าการผสานรวม Cloud-to-cloud ทำงานได้ดีเพียงใดสำหรับผู้ใช้ ความผันผวนอย่างฉับพลันในแผนภูมินี้อาจบ่งบอกว่าระบบของคุณอาจ ไม่สามารถรับคำขอได้ เราขอแนะนำให้ตรวจสอบแผนภูมินี้เป็นระยะๆ เพื่อดูพฤติกรรมที่ไม่คาดคิด
- แผนภูมิรายละเอียดข้อผิดพลาดจะมีประโยชน์มากที่สุดเมื่อต้อง แก้ปัญหาในการผสานรวม สำหรับข้อผิดพลาดทุกรายการที่ไฮไลต์ในแผนภูมิเปอร์เซ็นต์ความสำเร็จ ระบบจะแสดงรหัสข้อผิดพลาดในรายละเอียดข้อผิดพลาด คุณดูข้อผิดพลาดที่Google Home platformแจ้งและวิธีแก้ปัญหาได้ในตารางด้านล่าง
รหัสข้อผิดพลาดของแพลตฟอร์ม
รหัสข้อผิดพลาดที่พบบ่อยบางส่วนที่คุณอาจเห็นในบันทึกของโปรเจ็กต์เพื่อ ระบุปัญหาที่ Google Home platform ตรวจพบ โปรดดูข้อมูลการแก้ปัญหาในตารางต่อไปนี้
รหัสข้อผิดพลาด | คำอธิบาย |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google ได้รับรหัสข้อผิดพลาด HTTP 4xx อื่นที่ไม่ใช่ 401 จากบริการของคุณ
ใช้ requestId ในการบันทึกของ GCP เพื่อตรวจสอบบันทึกบริการ
สมาร์ทโฮม
|
BACKEND_FAILURE_URL_TIMEOUT |
คำขอของ Google หมดเวลาเมื่อพยายามเข้าถึงบริการของคุณ
ตรวจสอบว่าบริการของคุณออนไลน์ ยอมรับการเชื่อมต่อ และไม่ได้มีผู้ใช้เกินความจุ นอกจากนี้ ให้ตรวจสอบว่าอุปกรณ์เป้าหมาย เปิดอยู่ ออนไลน์ และซิงค์แล้ว |
BACKEND_FAILURE_URL_UNREACHABLE |
Google ได้รับรหัสข้อผิดพลาด HTTP 5xx จากบริการของคุณ
ใช้ requestId ในการบันทึกของ GCP เพื่อตรวจสอบบันทึกบริการ
สมาร์ทโฮม
|
DEVICE_NOT_FOUND |
ไม่มีอุปกรณ์ในฝั่งบริการของพาร์ทเนอร์
โดยปกติแล้วข้อความนี้จะบ่งบอกถึงความล้มเหลวในการซิงโครไนซ์ข้อมูลหรือ สภาวะการแข่งขัน |
GAL_BAD_3P_RESPONSE |
Google แยกวิเคราะห์การตอบกลับจากบริการลิงก์บัญชีของคุณไม่ได้
เนื่องจากรูปแบบหรือค่าในเพย์โหลดไม่ถูกต้อง
ใช้ requestId ในการบันทึกของ GCP เพื่อตรวจสอบบันทึกข้อผิดพลาด
ในบริการลิงก์บัญชี
|
GAL_INTERNAL |
เกิดข้อผิดพลาดภายในของ Google เมื่อ Google พยายามดึงข้อมูล
โทเค็นเพื่อเข้าถึง
หากเห็นว่าข้อผิดพลาดนี้มีอัตราเพิ่มขึ้นใน GCP Logging โปรดติดต่อ เราเพื่อขอข้อมูลเพิ่มเติม |
GAL_INVALID_ARGUMENT |
เกิดข้อผิดพลาดภายในของ Google เมื่อ Google พยายามดึงข้อมูล
โทเค็นเพื่อเข้าถึง
หากเห็นว่าข้อผิดพลาดนี้มีอัตราเพิ่มขึ้นใน GCP Logging โปรดติดต่อ เราเพื่อขอข้อมูลเพิ่มเติม |
GAL_NOT_FOUND |
ระบบจะทำให้โทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชของผู้ใช้ที่จัดเก็บไว้ใน Google
ใช้งานไม่ได้และจะรีเฟรชไม่ได้อีกต่อไป ผู้ใช้ต้อง
ลิงก์บัญชีอีกครั้งเพื่อใช้บริการของคุณต่อไป
หากเห็นว่าข้อผิดพลาดนี้มีอัตราเพิ่มขึ้นใน GCP Logging โปรดติดต่อ เราเพื่อขอข้อมูลเพิ่มเติม |
GAL_PERMISSION_DENIED |
เกิดข้อผิดพลาดภายในของ Google เมื่อไม่มีการให้สิทธิ์การแชร์โทเค็น
หากเห็นว่าข้อผิดพลาดนี้มีอัตราเพิ่มขึ้นใน GCP Logging โปรดติดต่อ เราเพื่อขอข้อมูลเพิ่มเติม |
GAL_REFRESH_IN_PROGRESS |
โทเค็นเพื่อการเข้าถึงของผู้ใช้หมดอายุแล้ว และกำลังมีการพยายามรีเฟรชโทเค็นพร้อมกันอีกครั้ง
นี่ไม่ใช่ปัญหาและคุณไม่จำเป็นต้องดำเนินการใดๆ |
INVALID_AUTH_TOKEN |
Google ได้รับรหัสข้อผิดพลาด HTTP 401 จากบริการของคุณ
โทเค็นเพื่อการเข้าถึงยังไม่หมดอายุ แต่บริการของคุณทำให้โทเค็นดังกล่าวไม่ถูกต้อง ใช้ requestId ในการบันทึกของ GCP เพื่อตรวจสอบบันทึกบริการบ้านอัจฉริยะ
ของคุณ
|
INVALID_JSON |
แยกวิเคราะห์หรือทำความเข้าใจการตอบกลับ JSON ไม่ได้
ตรวจสอบโครงสร้างการตอบสนอง JSON เพื่อดูไวยากรณ์ที่ไม่ถูกต้อง เช่น วงเล็บไม่ตรงกัน ไม่มีคอมมา อักขระไม่ถูกต้อง |
OPEN_AUTH_FAILURE |
โทเค็นเพื่อการเข้าถึงของผู้ใช้หมดอายุแล้วและ Google รีเฟรชโทเค็นไม่ได้
หรือ Google ได้รับรหัสข้อผิดพลาด HTTP 401 จากบริการของคุณ
หากเห็นว่าอัตราของโค้ดนี้เพิ่มขึ้น ให้ตรวจสอบว่าคุณเห็นอัตราข้อผิดพลาดที่เพิ่มขึ้นซึ่งเกี่ยวข้องกับ เจตนาของสมาร์ทโฮมหรือคำขอโทเค็นการรีเฟรชด้วยหรือไม่ |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
การตอบกลับระบุรหัสข้อผิดพลาดที่ไม่รู้จัก
หากการตอบกลับคำขอระบุข้อผิดพลาด โปรดตรวจสอบว่าคุณใช้รหัสที่ได้รับจาก รหัสข้อผิดพลาดที่รองรับ |
PARTNER_RESPONSE_INVALID_PAYLOAD |
แยกวิเคราะห์ฟิลด์การตอบกลับ payload เป็นออบเจ็กต์ JSON ไม่ได้
ตรวจสอบว่าฟิลด์เพย์โหลดในการตอบกลับคำขอมีวงเล็บที่ตรงกัน และมีโครงสร้างเป็นฟิลด์ JSON อย่างถูกต้อง |
PARTNER_RESPONSE_INVALID_STATUS |
การตอบกลับไม่ได้ระบุสถานะหรือระบุสถานะที่ไม่ถูกต้อง
การตอบกลับคำขอการดำเนินการตามความตั้งใจควรระบุสถานะ ด้วย SUCCESS, OFFLINE, ERROR, EXCEPTIONS คุณ
ดูข้อมูลเพิ่มเติมเกี่ยวกับ
การจัดการข้อผิดพลาดและข้อยกเว้นได้
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Intent อย่างน้อย 1 รายการในคำขอไม่มีอยู่ในการตอบกลับ
ตรวจสอบว่า การตอบกลับการดำเนินการมีโครงสร้างที่ถูกต้อง และผลลัพธ์ สำหรับทุกความตั้งใจจากคำขออยู่ในคำตอบของคุณ |
PARTNER_RESPONSE_MISSING_DEVICE |
อุปกรณ์อย่างน้อย 1 เครื่องที่อยู่ในคำขอไม่มีอยู่ในคำตอบ
ตรวจสอบว่า การตอบกลับการดำเนินการมีโครงสร้างถูกต้อง และรหัสอุปกรณ์ทั้งหมดจากคำขออยู่ในคำตอบ |
PARTNER_RESPONSE_MISSING_PAYLOAD |
การตอบกลับไม่มีช่อง payload
อย่าลืมใส่ช่องเพย์โหลดในการตอบกลับคำขอ คุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้าง การตอบกลับการดำเนินการอย่างถูกต้องได้ |
PARTNER_RESPONSE_NOT_OBJECT |
แยกวิเคราะห์การตอบกลับเป็นออบเจ็กต์ JSON ไม่ได้
ตรวจสอบช่องทั้งหมดในการตอบกลับคำขอว่ามีอักขระที่ไม่ต้องการ วงเล็บที่ไม่ตรงกัน หรือข้อผิดพลาดในการจัดรูปแบบหรือไม่ ระบบอาจไม่รองรับอักขระ Unicode บางตัว นอกจากนี้ โปรดตรวจสอบว่าการตอบกลับมีโครงสร้างเป็นออบเจ็กต์ JSON อย่างถูกต้อง |
PROTOCOL_ERROR |
ประมวลผลคำขอไม่สำเร็จ
ใช้ requestId ใน Google Cloud Logging เพื่อตรวจสอบ
บันทึกบริการบ้านอัจฉริยะ
|
RELINK_REQUIRED |
การตอบกลับระบุว่าเกิดrelinkRequired ข้อผิดพลาด ซึ่ง
แจ้งให้ผู้ใช้ลิงก์บัญชี Google และบัญชีพาร์ทเนอร์อีกครั้ง
ดูข้อมูลเพิ่มเติมได้ที่ รหัสข้อผิดพลาดที่รองรับ |
RESPONSE_TIMEOUT |
คำขอหมดเวลาขณะรอการตอบกลับ
ระยะเวลาหมดเวลาสำหรับการส่งการตอบกลับคือ 9 วินาทีนับจากเวลาที่ ส่งคำขอ โปรดส่งคำตอบภายในระยะเวลา นี้ |
RESPONSE_UNAVAILABLE |
ไม่ได้รับการตอบกลับหรือการตอบกลับไม่ได้ระบุสถานะ
การตอบกลับคำขอการดำเนินการตามความตั้งใจควรมีโครงสร้าง ตาม เอกสารประกอบเกี่ยวกับสมาร์ทโฮมและระบุสถานะ |
TRANSIENT_ERROR |
ข้อผิดพลาดชั่วคราวคือข้อผิดพลาดที่จะแก้ไขได้เอง
โดยปกติแล้ว ข้อผิดพลาดเหล่านี้จะแสดงเป็นการเชื่อมต่อกับอุปกรณ์หรือ บริการที่ถูกตัด รวมถึงหากเปิดการเชื่อมต่อใหม่กับเซิร์ฟเวอร์ไม่ได้ |
ข้อมูลบันทึกการค้นหา
เมื่อคุ้นเคยกับการตรวจสอบการผสานรวมโดยใช้เมตริกแล้ว ขั้นตอนถัดไปคือการแก้ปัญหาข้อผิดพลาดที่เฉพาะเจาะจงโดยใช้ Cloud Logging บันทึกข้อผิดพลาดคือรายการที่คล้ายกับ JSON ซึ่งมีช่องที่มีข้อมูลที่เป็นประโยชน์ เช่น เวลา รหัสข้อผิดพลาด และรายละเอียดเกี่ยวกับเจตนาสมาร์ทโฮมที่มา
Google Cloud มีหลายระบบที่ส่งบันทึกไปยังโปรเจ็กต์ของคุณตลอดเวลา คุณต้องเขียนการค้นหาเพื่อกรองบันทึก และค้นหาบันทึกที่ต้องการ ข้อความค้นหาอาจอิงตามช่วงเวลา ทรัพยากร ความรุนแรงของบันทึก หรือรายการที่กำหนดเอง

คุณสามารถใช้ปุ่มการค้นหาเพื่อช่วยสร้างตัวกรองที่กำหนดเอง

หากต้องการระบุช่วงเวลา ให้คลิกปุ่มเลือกช่วงเวลา
แล้วเลือกตัวเลือกที่ให้ไว้ ซึ่งจะกรองบันทึกและแสดงบันทึกที่มาจาก ช่วงเวลาที่เลือกหากต้องการระบุทรัพยากร ให้คลิกเมนูแบบเลื่อนลงทรัพยากร แล้วเลือกโปรเจ็กต์การดำเนินการของ Google Assistant ซึ่งจะเพิ่มตัวกรองในคำค้นหาเพื่อแสดงบันทึกที่มาจากโปรเจ็กต์
ใช้ปุ่มความรุนแรงเพื่อกรองตามฉุกเฉิน ข้อมูล แก้ไขข้อบกพร่อง และระดับบันทึกความรุนแรงอื่นๆ
นอกจากนี้ คุณยังใช้ช่องคำค้นหาในLogs Explorer
เพื่อป้อนรายการที่กำหนดเองได้ด้วย เครื่องมือค้นหาที่ฟิลด์นี้ใช้รองรับทั้ง
การค้นหาพื้นฐาน เช่น การจับคู่สตริง และการค้นหาขั้นสูงกว่า เช่น
ตัวเปรียบเทียบ (<, >=, !=
) และโอเปอเรเตอร์บูลีน (AND, OR, NOT
)
ตัวอย่างเช่น รายการที่กำหนดเองด้านล่างจะแสดงข้อผิดพลาดที่
มาจากLIGHT
ประเภทอุปกรณ์
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
ไปที่คลังการค้นหา เพื่อดูตัวอย่างเพิ่มเติมสำหรับการค้นหาบันทึกอย่างมีประสิทธิภาพ
การทดสอบการแก้ไข
เมื่อระบุข้อผิดพลาดและใช้การอัปเดตเพื่อแก้ไขแล้ว เราขอแนะนำให้ทดสอบ การแก้ไขอย่างละเอียดด้วย Google Home Test Suite เรามีคู่มือผู้ใช้เกี่ยวกับ วิธีใช้ Test Suite ซึ่งจะแนะนำขั้นตอนการทดสอบการเปลี่ยนแปลง อย่างมีประสิทธิภาพ
แหล่งข้อมูลการเรียนรู้
เอกสารนี้จะแสดงขั้นตอนในการแก้ปัญหาข้อผิดพลาดในสมาร์ทโฮม Action นอกจากนี้ คุณยังดู Codelab เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขข้อบกพร่องได้ด้วย
- การแก้ไขข้อบกพร่องของ Codelab สมาร์ทโฮม คู่มือเริ่มต้นฉบับย่อสำหรับการแก้ไขข้อบกพร่องของการผสานรวมระบบคลาวด์ของสมาร์ทโฮม
- Codelab การแก้ไขข้อบกพร่องของ Local Home: คู่มือเริ่มต้นฉบับย่อสำหรับการแก้ไขข้อบกพร่องของการผสานรวมสมาร์ทโฮมในเครื่อง