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

Refresh_date: 06/01/2023

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

Có hai bước để khắc phục sự cố:

  1. Theo dõi trạng thái dự án bằng các chỉ số của nhà thông minh.
  2. Điều tra các 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 từ thời điểm bạn theo dõi độ tin cậy của các dự án. Mốc sụt giảm trong biểu đồ này có thể cho biết tình trạng ngừng dịch vụ của 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 để phát hiện mọi điều bất thường sau mỗi lần thay đổi hoặc cập nhật dự án.
  • Biểu đồ Bảng chi tiết lỗi hữu ích nhất khi nói đến việc khắc phục sự cố liên quan đến các công cụ tích hợp của bạn. Đối với mỗi lỗi được đánh dấu 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 phân tích lỗi. Bạn có thể xem các lỗi do 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. 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ông phải 401 từ dịch vụ của bạn.

Hãy dùng requestId trong phần 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 Đã hết thời gian chờ yêu cầu của Google khi cố gắng kết nối 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 bị vượt quá dung lượng. Ngoài ra, hãy xác minh rằng thiết bị mục tiêu đã được bật, 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.

Hãy dùng requestId trong phần 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ị này không tồn tại ở phía dịch vụ đối tác.

Điều này thường cho biết đã xảy ra lỗi trong quá trình đồng bộ hoá dữ liệu hoặc tình huống tương tranh.
GAL_BAD_3P_RESPONSE Google không thể phân tích cú pháp của phản hồi từ 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 phần 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ố gắng truy xuất mã truy cập.

Nếu bạn thấy tỷ lệ lỗi này tăng lên trong tính năng Ghi nhật ký GCP, 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ố gắng truy xuất mã truy cập.

Nếu bạn thấy tỷ lệ lỗi này tăng lên trong tính năng Ghi nhật ký GCP, 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ữ trong Google sẽ hết hiệu lực và không thể làm mới được nữa. Người dùng cần 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 tăng lên trong tính năng Ghi nhật ký GCP, 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 cho phép chia sẻ mã thông báo.

Nếu bạn thấy tỷ lệ lỗi này tăng lên trong tính năng Ghi nhật ký GCP, 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 lần thử làm mới đồng thời khác đang diễn ra.

Đâ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. Hãy dùng requestId trong phần Ghi nhật ký GCP để kiểm tra nhật ký các dịch vụ nhà thông minh của bạn.
INVALID_JSON Không thể phân tích cú pháp hoặc hiểu được 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 nên 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ốc độ của mã này tăng lên, hãy kiểm tra xem bạn có thấy tỷ lệ lỗi tăng liên quan đến ý định nhà thông minh hoặc yêu cầu về mã làm mới hay không.
PARTNER_RESPONSE_INVALID_ERROR_CODE Phản hồi cho biết mã lỗi không xác định.

Nếu phản hồi cho yêu cầu của bạn bị lỗi, hãy nhớ sử dụng phản hồi do mã lỗi được hỗ trợ của chúng tôi cung cấp.
PARTNER_RESPONSE_INVALID_PAYLOAD Không thể phân tích cú pháp trường payload 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ó các dấu ngoặc trùng khớp và có cấu trúc chính xác như một trường JSON hay không.
PARTNER_RESPONSE_INVALID_STATUS Phản hồi không chỉ ra 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 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 trong yêu cầu trên 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 tất cả ý đị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 của bạn.
PARTNER_RESPONSE_MISSING_PAYLOAD Phản hồi không chứa trường payload.

Hãy nhớ đưa 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 phản hồi thực thi đúng cách.
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ự không mong 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.

Sử dụng requestId trong Google Cloud Logging để kiểm tra nhật ký dịch vụ nhà thông minh của bạn.
RESPONSE_TIMEOUT Đã hết thời gian chờ phản hồi yêu cầu.

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à lỗi sẽ tự khắc phục.

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

Nhật ký Tìm kiếm

Sau khi bạn có thể theo dõi các công cụ tích hợp bằng cách sử dụng các chỉ số, bước tiếp theo là khắc phục các lỗi cụ thể bằng Cloud Logging. Nhật ký lỗi là một mục giống như JSON, có 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 về ý định ban đầu của nhà thông minh.

Có nhiều hệ thống trong Google Cloud luôn gửi nhật ký đến dự án của bạn. Bạn cần phải ghi các truy vấn để lọc nhật ký và tìm những 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, Mức độ nghiêm trọng nhật ký hoặc các mục nhập tuỳ chỉnh.

Nhật ký truy vấn trên đám mây

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

Tạo truy vấn trong 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 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 trong khoảng 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 trên Trợ lý Google). Thao tác này sẽ thêm một bộ lọc trong truy vấn để cho thấy những nhật ký bắt nguồn từ dự án của bạn.

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

Bạn cũng có thể sử dụng trường Truy vấn trong Logs Explorer để nhập các mục nhập tuỳ chỉnh. Công cụ truy vấn mà trường này sử dụng hỗ trợ cả cá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 nhập tuỳ chỉnh bên dưới sẽ trả về các lỗi phát sinh từ một loại thiết bị LIGHT:

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

Hãy truy cập vào 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 lỗi và áp dụng bản cập nhật để khắc phục lỗi, 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 người dùng về cách sử dụng Test Suite, hướng dẫn bạn cách 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 trình bày các bước khắc phục lỗi trong Hành động nhà thông minh. Bạn cũng có thể tham khảo 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: