Khắc phục lỗi tích hợp Matter

ngày_làm mới: 06/01/2023

Google Cloud cung cấp cho bạn các công cụ để giám sát độ tin cậy của dự án bằng Google Cloud Monitoring và gỡ lỗi các sự cố trong nhật ký lỗi Google Cloud Logging. Bất cứ khi nào lỗi xảy ra trong quá trình thực hiện ý định của người dùng, quy trình của Google Home Analytics sẽ ghi lại lỗi đó trên các chỉ số và xuất bản nhật ký lỗi trong nhật ký dự án.

Có hai bước để khắc phục lỗi:

  1. Theo dõi tình trạng dự án bằng các chỉ số về nhà thông minh.
  2. Tìm hiểu vấn đề bằng cách kiểm tra nội dung mô tả chi tiết về lỗi trong nhật ký lỗi.

Lỗi giám sát

Bạn có thể dùng Google Cloud Monitoring dashboard để truy cập vào các chỉ số của dự án. Có một số biểu đồ chính đặc biệt hữu ích trong việc theo dõi chất lượng và gỡ lỗi:

  • Biểu đồ Tỷ lệ thành công là biểu đồ đầu tiên bắt đầu khi bạn theo dõi độ tin cậy của dự án. Sự sụt giảm trong biểu đồ này có thể cho biết sự cố ngừng dịch vụ ở một phần hoặc toàn bộ cơ sở người dùng của bạn. Bạn nên theo dõi chặt chẽ biểu đồ này để xem có điểm bất thường nào không sau mỗi lần thay đổi hoặc cập nhật dự án.
  • Biểu đồ Phân tích lỗi hữu ích nhất khi dùng để khắc phục sự cố khi tích hợp. Đối với mỗi lỗi được làm nổi bật trong biểu đồ tỷ lệ phần trăm thành công, một mã lỗi sẽ xuất hiện trong bảng chi tiết lỗi. Bạn có thể xem các lỗi mà Google Home platform gắn cờ và cách khắc phục các lỗi đó trong bảng bên dưới.

Mã lỗi nền tảng

Dưới đây là một số mã lỗi phổ biến mà bạn có thể thấy trong nhật ký dự án để xác định các vấn đề mà Google Home platform phát hiện được. Vui lòng tham khảo bảng sau đây để biết thông tin về cách khắc phục sự cố.

Mã lỗi Nội dung mô tả
BACKEND_FAILURE_URL_ERROR Google đã nhận được một mã lỗi HTTP 4xx khác 401 từ dịch vụ của bạn.

Dùng requestId trong tính năng Ghi nhật ký GCP để kiểm tra nhật ký dịch vụ nhà thông minh của bạn.
BACKEND_FAILURE_URL_TIMEOUT Yêu cầu của Google đã hết thời gian chờ khi cố gắng liên hệ với dịch vụ của bạn.

Xác minh rằng dịch vụ của bạn đang trực tuyến, chấp nhận kết nối và không vượt quá dung lượng. Ngoài ra, hãy xác minh rằng thiết bị mục tiêu đã bật nguồn, có kết nối mạng và đã đồng bộ hoá.
BACKEND_FAILURE_URL_UNREACHABLE Google đã nhận được mã lỗi HTTP 5xx từ dịch vụ của bạn.

Dùng requestId trong tính năng Ghi nhật ký GCP để kiểm tra nhật ký dịch vụ nhà thông minh của bạn.
DEVICE_NOT_FOUND Thiết bị không tồn tại ở phía dịch vụ của đối tác.

Trường hợp này thường cho biết lỗi trong quá trình đồng bộ hoá dữ liệu hoặc điều kiện tranh đấu.
GAL_BAD_3P_RESPONSE Google không thể phân tích cú pháp của nội dung phản hồi qua dịch vụ liên kết tài khoản của bạn do định dạng hoặc giá trị không hợp lệ trong tải trọng.

Sử dụng requestId trong tính năng Ghi nhật ký GCP để kiểm tra nhật ký lỗi trong dịch vụ liên kết tài khoản của bạn.
GAL_INTERNAL Đã xảy ra lỗi nội bộ của Google khi Google cố truy xuất mã truy cập.

Nếu bạn thấy tỷ lệ lỗi này trong tính năng Ghi nhật ký GCP gia tăng, hãy liên hệ với chúng tôi để biết thêm thông tin.
GAL_INVALID_ARGUMENT Đã xảy ra lỗi nội bộ của Google khi Google cố truy xuất mã truy cập.

Nếu bạn thấy tỷ lệ lỗi này trong tính năng Ghi nhật ký GCP gia tăng, hãy liên hệ với chúng tôi để biết thêm thông tin.
GAL_NOT_FOUND Mã truy cập và mã làm mới của người dùng lưu trữ trên Google đã hết hiệu lực và không thể làm mới được nữa. Người dùng cần phải liên kết lại tài khoản của họ để tiếp tục dùng dịch vụ của bạn.

Nếu bạn thấy tỷ lệ lỗi này trong tính năng Ghi nhật ký GCP gia tăng, hãy liên hệ với chúng tôi để biết thêm thông tin.
GAL_PERMISSION_DENIED Đã xảy ra lỗi nội bộ của Google khi không được phép chia sẻ mã thông báo.

Nếu bạn thấy tỷ lệ lỗi này trong tính năng Ghi nhật ký GCP gia tăng, hãy liên hệ với chúng tôi để biết thêm thông tin.
GAL_REFRESH_IN_PROGRESS Mã truy cập của người dùng đã hết hạn và một nỗ lực đồng thời khác để làm mới mã này đang được thực hiện.

Đây không phải là vấn đề và bạn không cần làm gì cả.
INVALID_AUTH_TOKEN Google đã nhận được mã lỗi HTTP 401 từ dịch vụ của bạn.

Mã truy cập chưa hết hạn nhưng dịch vụ của bạn đã làm mất hiệu lực mã đó. Sử dụng requestId trong tính năng Ghi nhật ký GCP để kiểm tra nhật ký dịch vụ nhà thông minh của bạn.
INVALID_JSON Hệ thống không thể phân tích cú pháp hoặc hiểu phản hồi JSON.

Kiểm tra cấu trúc của phản hồi JSON để tìm cú pháp không hợp lệ, chẳng hạn như dấu ngoặc không khớp, thiếu dấu phẩy, ký tự không hợp lệ.
OPEN_AUTH_FAILURE Mã truy cập của người dùng đã hết hạn và Google không thể làm mới mã đó, hoặc Google đã nhận được mã lỗi HTTP 401 từ dịch vụ của bạn.

Nếu bạn thấy tỷ lệ mã này tăng lên, hãy kiểm tra xem tỷ lệ lỗi liên quan đến ý định nhà thông minh hoặc yêu cầu mã làm mới có tăng hay không.
PARTNER_RESPONSE_INVALID_ERROR_CODE Phản hồi cho biết mã lỗi không nhận dạng được.

Nếu phản hồi yêu cầu của bạn cho thấy có lỗi, hãy nhớ sử dụng mã được cung cấp trong mã lỗi được hỗ trợ của chúng tôi.
PARTNER_RESPONSE_INVALID_PAYLOAD Không thể phân tích cú pháp trường payload của phản hồi dưới dạng Đối tượng JSON.

Kiểm tra xem trường tải trọng trong phản hồi yêu cầu của bạn có dấu ngoặc vuông phù hợp và có cấu trúc chính xác dưới dạng trường JSON hay không.
PARTNER_RESPONSE_INVALID_STATUS Phản hồi không cho biết trạng thái, hoặc chỉ ra trạng thái không chính xác.

Phản hồi các yêu cầu thực hiện ý định phải cho biết trạng thái bằng một trong hai SUCCESS, OFFLINE, ERROR, EXCEPTIONS. Bạn có thể tìm thêm thông tin về cách xử lý lỗi và ngoại lệ.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES Thiếu một hoặc nhiều ý định có trong yêu cầu trong phản hồi.

Xác minh rằng phản hồi thực thi của bạn có cấu trúc chính xác và kết quả cho mọi ý định từ yêu cầu đều có trong phản hồi của bạn.
PARTNER_RESPONSE_MISSING_DEVICE Thiếu một hoặc nhiều thiết bị trong yêu cầu trong phản hồi.

Xác minh rằng phản hồi thực thi của bạn có cấu trúc chính xác và tất cả mã thiết bị trong yêu cầu đều có trong phản hồi.
PARTNER_RESPONSE_MISSING_PAYLOAD Câu trả lời không chứa trường payload.

Hãy nhớ thêm trường tải trọng vào phản hồi yêu cầu của bạn. Bạn có thể tìm hiểu thêm về cách tạo chính xác một phản hồi thực thi.
PARTNER_RESPONSE_NOT_OBJECT Không thể phân tích cú pháp phản hồi dưới dạng Đối tượng JSON.

Kiểm tra tất cả các trường trong phản hồi yêu cầu của bạn để tìm các ký tự ngoài ý muốn, dấu ngoặc không khớp hoặc lỗi định dạng. Một số ký tự unicode có thể không được hỗ trợ. Ngoài ra, hãy đảm bảo phản hồi của bạn có cấu trúc chính xác dưới dạng đối tượng JSON.
PROTOCOL_ERROR Không xử lý được yêu cầu.

Dùng requestId trong tính năng Ghi nhật ký trên đám mây của Google để kiểm tra nhật ký dịch vụ nhà thông minh của bạn.
RESPONSE_TIMEOUT Yêu cầu đã hết thời gian chờ phản hồi.

Thời gian chờ để gửi phản hồi là 9 giây kể từ khi yêu cầu được gửi. Hãy nhớ gửi phản hồi trong khoảng thời gian này.
RESPONSE_UNAVAILABLE Không nhận được phản hồi nào hoặc phản hồi không cho biết trạng thái.

Các phản hồi cho các yêu cầu thực hiện ý định phải được cấu trúc theo tài liệu về nhà thông minh và cho biết trạng thái.
TRANSIENT_ERROR Lỗi tạm thời là một lỗi sẽ tự khắc phục.

Thường thì những lỗi này thể hiện dưới dạng kết nối với một thiết bị hoặc dịch vụ bị huỷ. Ngoài ra, nếu không thể mở các kết nối mới với máy chủ.

Nhật ký Tìm kiếm

Khi bạn đã quen với việc theo dõi các hoạt động tích hợp bằng các chỉ số, bước tiếp theo là khắc phục các lỗi cụ thể bằng cách sử dụng Cloud Logging. Nhật ký lỗi là một mục giống JSON với các trường chứa thông tin hữu ích như thời gian, mã lỗi và thông tin chi tiết liên quan đến ý định ban đầu của nhà thông minh.

Có nhiều hệ thống trong Google Cloud sẽ luôn gửi nhật ký đến dự án của bạn. Bạn cần viết các truy vấn để lọc nhật ký và tìm các truy vấn bạn cần. Truy vấn có thể dựa trên Phạm vi thời gian, Tài nguyên, nhật ký Mức độ nghiêm trọng hoặc các mục nhập tuỳ chỉnh.

Truy vấn nhật ký trên đám mây

Bạn có thể sử dụng các nút truy vấn để xây dựng bộ lọc tuỳ chỉnh.

Tạo truy vấn nhật ký đám mây

Để chỉ định một Time Range (Phạm vi thời gian), hãy nhấp vào nút lựa chọn phạm vi thời gian rồi chọn một trong các tuỳ chọn được cung cấp. Thao tác này sẽ lọc nhật ký và hiển thị những nhật ký bắt nguồn từ phạm vi thời gian đã chọn.

Để chỉ định một Resource (Tài nguyên), hãy nhấp vào trình đơn thả xuống Resource (Tài nguyên), sau đó chọn Google Assistant Action Project (Dự án hành động của Trợ lý Google). Thao tác này sẽ thêm một bộ lọc vào truy vấn để hiển thị nhật ký bắt nguồn từ dự án của bạn.

Dùng nút Mức độ nghiêm trọng để lọc theo các cấp độ nhật ký Khẩn cấp, Thông tin, Gỡ lỗi và các cấp độ nhật ký khác về mức độ nghiêm trọng.

Bạn cũng có thể sử dụng trường Truy vấn trong Logs Explorer để nhập các mục tuỳ chỉnh. Công cụ truy vấn mà trường này sử dụng hỗ trợ cả truy vấn cơ bản như so khớp chuỗi và các loại truy vấn nâng cao hơn bao gồm toán tử so sánh (<, >=, !=) và toán tử boolean (AND, OR, NOT).

Ví dụ: mục tuỳ chỉnh dưới đây sẽ trả về các lỗi bắt nguồn từ loại thiết bị LIGHT:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

Truy cập Thư viện truy vấn để tìm thêm ví dụ về cách truy vấn nhật ký một cách hiệu quả.

Kiểm thử bản sửa lỗi

Sau khi xác định được lỗi và áp dụng bản cập nhật để khắc phục, bạn nên kiểm thử kỹ các bản sửa lỗi bằng Google Home Test Suite. Chúng tôi cung cấp hướng dẫn sử dụng về cách sử dụng Test Suite để hướng dẫn bạn kiểm thử các thay đổi một cách hiệu quả.

Tài nguyên học tập

Tài liệu này cung cấp các bước khắc phục lỗi trong Hành động trong nhà thông minh. Bạn cũng có thể xem các lớp học lập trình của chúng tôi để tìm hiểu thêm về cách gỡ lỗi: