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 bằng nhật ký lỗi Google Cloud Logging. Bất cứ khi nào xảy ra lỗi 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 nhật ký lỗi trong nhật ký dự án của bạ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 chỉ số nhà thông minh.
  2. Điều tra 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.

Quy trình này tương tự như quy trình tích hợp cục bộ bằng cách sử dụng Local Home SDK. Sau 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.

Nếu muốn, bạn có thể kiểm thử Thao tác bằng cách chia sẻ Thao tác đó với những người dùng khác. Đảm bảo xử lý lỗi và ngoại lệ một cách thích hợp.

Theo dõi lỗi

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

  • Biểu đồ Tỷ lệ thành công là biểu đồ đầu tiên bạn nên xem khi giám sát độ tin cậy của các dự án. Sự sụt giảm trong biểu đồ này có thể cho thấy một phần hoặc toàn bộ cơ sở người dùng của bạn bị ngừng hoạt động. Bạn nên theo dõi biểu đồ này một cách chặt chẽ để phát hiện 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 cho biết hiệu suất của chế độ tích hợp Cloud-to-cloud đối với người dùng. Biến động đột ngột trong biểu đồ này có thể cho thấy 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 biểu đồ này định kỳ để phát hiện mọi hành vi bất thường.
  • Biểu đồ Phân tích lỗi hữu ích nhất khi bạn cần khắc phục sự cố về các chế độ tích hợp. Đối với mỗi lỗi được làm nổi bật trong biểu đồ tỷ lệ 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 được 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

Sau đây là một số mã lỗi thường gặp 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 Mô tả
BACKEND_FAILURE_URL_ERROR Google đã nhận được mã lỗi HTTP 4xx khác với mã 401 từ dịch vụ của bạn.

Sử dụng requestId trong Nhật ký GCP để kiểm tra nhật ký dịch vụ nhà thông minh.
BACKEND_FAILURE_URL_TIMEOUT Yêu cầu của Google đã hết thời gian chờ khi cố gắng truy cập vào 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 các kết nối và không vượt quá công suất. Ngoài ra, hãy xác minh rằng thiết bị mục tiêu đang bật, 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.

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

Điều này thường cho biết quá trình đồng bộ hoá dữ liệu bị lỗi hoặc xảy ra tình trạng xung đột.
GAL_BAD_3P_RESPONSE Google không thể phân tích cú pháp 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 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 lỗi này xuất hiện với tần suất cao hơn trong 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 lỗi này xuất hiện với tần suất cao hơn trong 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ã thông báo truy cập và mã làm mới của người dùng được lưu trữ trong Google sẽ không hợp lệ và không thể làm mới 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 sử dụng dịch vụ của bạn.

Nếu bạn thấy lỗi này xuất hiện với tần suất cao hơn trong 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 việc chia sẻ mã thông báo không được phép.

Nếu bạn thấy lỗi này xuất hiện với tần suất cao hơn trong 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 nỗ lực đồng thời khác để làm mới mã này đ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ã này. Sử dụng requestId trong tính năng Ghi nhật ký của GCP để kiểm tra nhật ký dịch vụ nhà thông minh.
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, dấu phẩy bị thiếu, ký tự không hợp lệ.
OPEN_AUTH_FAILURE Mã thông báo truy cập của người dùng đã hết hạn và Google không thể làm mới mã thông báo đó 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ần suất xuất hiện mã này tăng lên, hãy kiểm tra xem tần suất xuất hiện các 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 lên hay không.
PARTNER_RESPONSE_INVALID_ERROR_CODE Phản hồi cho biết một mã lỗi không xác định.

Nếu phản hồi yêu cầu của bạn cho biết có lỗi, hãy nhớ sử dụng một phản hồi được cung cấp từ các 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 Phản hồi payload 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ó dấu ngoặc khớp và được cấu trúc chính xác dưới dạng một 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 cho biết trạng thái không chính xác.

Phản hồi cho 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 Một hoặc nhiều ý định 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à kết quả cho tất cả các ý đị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ã nhận dạng 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ớ thêm một 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 một cách chính xác.
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 rằng phản hồi của bạn được cấu trúc chính xác dưới dạng một đố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.
RELINK_REQUIRED Phản hồi cho biết lỗi relinkRequired, khiến người dùng phải liên kết lại Tài khoản Google và tài khoản đối tác.

Hãy xem các mã lỗi được hỗ trợ để biết thêm thông tin.
RESPONSE_TIMEOUT Đã hết thời gian chờ phản hồi cho yêu cầu.

Khoảng 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 hoặc phản hồi không cho biết trạng thái.

Các phản hồi cho 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ất, những lỗi này biểu hiện dưới dạng kết nối với một thiết bị hoặc dịch vụ bị ngắt. Ngoài ra, nếu không thể mở các kết nối mới đến một máy chủ.

Nhật ký Tìm kiếm

Sau khi bạn đã quen với việc giám sát 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 cách sử dụng Cloud Logging. Nhật ký lỗi là một mục nhập tương tự 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 liên quan đến ý định nhà thông minh ban đầu.

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 viết các truy vấn để lọc nhật ký và tìm những nhật ký bạn cần. Bạn có thể dựa vào Phạm vi thời gian, Tài nguyên, Mức độ nghiêm trọng của nhật ký hoặc các mục nhập tuỳ chỉnh để đưa ra truy vấn.

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 để tạo bộ lọc tuỳ chỉnh.

Tạo truy vấn nhật ký Cloud Build

Để 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 lựa chọn được cung cấp. Thao tác này sẽ lọc nhật ký và cho thấy những nhật ký bắt nguồn từ 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 của bạn để hiện 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ý 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 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 cả bộ 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 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"

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 được lỗi và áp dụng nội dung cập nhật để khắc phục, bạn nên kiểm thử kỹ lưỡng 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 dùng Test Suite, trong đó 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 Thao tác 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ề việc gỡ lỗi: