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

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à gỡ lỗi các sự cố với nhật ký lỗi Google Cloud Logging. Mỗi khi có 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 đó trong 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 trạng thái của các dự án bằng các chỉ số về nhà thông minh.
  2. Điều tra vấn đề bằng cách kiểm tra phần mô tả chi tiết về lỗi trong nhật ký lỗi.

Quá trình này tương tự như quá trình tích hợp cục bộ bằng cách sử dụng Local Home SDK. Khi đã nắm vững quy trình khắc phục sự cố, bạn có thể dễ dàng chuyển đổi qua lại giữa các chỉ số và nhật ký để nắm được thông tin chi tiết về 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 xuất hiện khi bạn theo dõi mức độ tin cậy của 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ụ ở một phần hoặc toàn bộ cơ sở người dùng. Bạn nên theo dõi chặt chẽ biểu đồ này để biết mọi điểm bất thường sau mỗi lần thay đổi hoặc cập nhật dự án.
  • Biểu đồ Độ trễ ở phân vị thứ 95 là một chỉ báo quan trọng về hiệu suất của Hành động cho nhà thông minh đối với người dùng. Biến động đột ngột trong biểu đồ này có thể cho biết rằng có thể hệ thống của bạn không thể bắt kịp các yêu cầu. Bạn nên kiểm tra định kỳ biểu đồ này để xem mọi hành vi không mong muốn.
  • Biểu đồ Phân tích lỗi hữu ích nhất khi cần khắc phục các vấn đề về tích hợp. Đố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ẽ hiển thị trong bảng chi tiết 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 được. Vui lòng tham khảo bảng sau để biết thông tin 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 qua dịch vụ của bạn.

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.
BACKEND_FAILURE_URL_TIMEOUT Yêu cầu của Google đã hết thời gian chờ khi cố gắng kết nối với dịch vụ của bạn.

Kiểm tra để đảm bảo rằng dịch vụ của bạn đang kết nối mạng, 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à được đồng bộ hoá.
BACKEND_FAILURE_URL_UNREACHABLE Google đã nhận được một mã lỗi HTTP 5xx từ dịch vụ của bạn.

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.
DEVICE_NOT_FOUND Thiết bị không tồn tại ở phía dịch vụ đối tác.

Trạng thái này thường cho biết xảy ra lỗi trong quá trình đồng bộ hoá dữ liệu hoặc một điều kiện tương tranh.
GAL_BAD_3P_RESPONSE Google không thể phân tích cú pháp nội dung 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 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ố 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 được lưu trữ trong Google không hợp lệ 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 sử 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 bạn 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ượt cố gắng làm mớ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 đã vô hiệu hoá 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 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 liệu bạn có thấy tỷ lệ lỗi liên quan đến ý định của nhà thông minh hoặc yêu cầu mã làm mới tăng lên 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 từ 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 thành Đối tượng JSON.

Kiểm tra xem trường trọng tải trong phản hồi yêu cầu của bạn có dấu ngoặc vuông 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 Câu trả lời không cho biết trạng thái hoặc cho biết 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à trường hợp 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 trong yêu cầu đều có trong phản hồi của bạn.
PARTNER_RESPONSE_MISSING_DEVICE Một hoặc nhiều thiết bị có trong yêu cầu bị thiế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ớ bao gồm một trường trọng tải trong 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 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.

Hãy kiểm tra tất cả các trường trong phản hồi yêu cầu của bạn để xem có ký tự ngoài ý muốn, dấu ngoặc vuông không khớp hoặc lỗi định dạng hay khô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 thể xử lý yêu cầu.

Sử 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 trong khi 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.

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ể hiện dưới dạng kết nối đến một thiết bị hoặc dịch vụ bị huỷ. Ngoài ra, nếu không thể mở 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 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 nhập 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 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 ghi truy vấn để lọc nhật ký và tìm nhật ký bạn cần. Các 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 để giúp bạn xây dựng bộ lọc tuỳ chỉnh.

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

Để chỉ định 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 phạm vi thời gian đã chọn.

Để chỉ định một Tài nguyên, hãy nhấp vào trình đơn thả xuống Tài nguyên, sau đó chọn 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ị các 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ý như 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 Query (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ả 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 trình 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ừ 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 để xem thêm các 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 các 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 cung cấp các bước khắc phục lỗi trong Hành động của 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: