Google Cloud menyediakan alat untuk memantau keandalan proyek dengan Google Cloud Monitoring dan masalah debug dengan Google Cloud Logging log error. Setiap kali kegagalan terjadi saat memenuhi intent pengguna, Pipeline Analytics Google Home mencatat kegagalan yang terjadi pada metrik Anda, dan memublikasikan log error di log project Anda.
Ada dua langkah untuk memecahkan masalah error Anda:
- Pantau status project Anda dengan metrik smart home.
- Selidiki masalah dengan memeriksa deskripsi error mendetail di log error.
Error pemantauan
Anda dapat menggunakan Google Cloud Monitoring dashboard untuk mengakses metrik project Anda. Ada beberapa diagram kunci yang terutama berguna untuk memantau kualitas dan proses debug:
- Diagram Tingkat Keberhasilan adalah diagram pertama yang dimulai dari saat Anda memantau keandalan proyek. Penurunan dalam diagram ini dapat mengindikasikan pemadaman layanan untuk sebagian atau seluruh basis pengguna Anda. Sebaiknya pantau diagram ini dengan cermat untuk menemukan ketidakteraturan setelah setiap perubahan atau update pada project Anda.
- Diagram Latensi Persentil ke-95 merupakan indikator penting terkait performa Action smart home Anda untuk pengguna. Fluktuasi mendadak dalam diagram ini mungkin menunjukkan bahwa sistem Anda mungkin tidak dapat mengimbangi permintaan. Sebaiknya periksa diagram ini secara berkala untuk melihat perilaku tak terduga.
- Bagan Perincian Error paling berguna untuk memecahkan masalah pada integrasi Anda. Untuk setiap error disorot dalam diagram persentase keberhasilan, kode error ditampilkan dalam perincian error Anda. Anda dapat melihat error yang ditandai oleh Google Home platform dan cara memecahkan masalahnya dalam tabel di bawah.
Kode Error Platform
Berikut adalah beberapa kode error umum yang mungkin Anda lihat di log project untuk mengidentifikasi masalah yang ditemukan oleh Google Home platform. Lihat tabel berikut untuk informasi pemecahan masalah.
Kode Error | Deskripsi |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google telah menerima kode kesalahan HTTP 4xx selain 401 dari
layanan.
Gunakan requestId di Logging GCP untuk memeriksa log layanan
smart home Anda.
|
BACKEND_FAILURE_URL_TIMEOUT |
Waktu permintaan Google habis saat mencoba menghubungi layanan Anda.
Verifikasi bahwa layanan Anda online, menerima koneksi, dan tidak melebihi kapasitas. Selain itu, verifikasi bahwa target ketika perangkat dinyalakan, online, dan disinkronkan. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google telah menerima kode error HTTP 5xx dari layanan Anda.
Gunakan requestId di Logging GCP untuk memeriksa smart Anda
catatan layanan rumah tangga.
|
DEVICE_NOT_FOUND |
Perangkat tidak ada di sisi layanan partner.
Hal ini biasanya menunjukkan kegagalan dalam sinkronisasi data atau kondisi perlombaan. |
GAL_BAD_3P_RESPONSE |
Google tidak dapat mengurai respons dari layanan penautan akun Anda
karena format atau nilai
dalam payload mereka tidak valid.
Gunakan requestId di Logging GCP untuk memeriksa log error
di layanan penautan akun.
|
GAL_INTERNAL |
Terjadi error internal Google saat Google mencoba mengambil
token masing-masing.
Jika Anda melihat peningkatan frekuensi error ini di Logging GCP, hubungi untuk informasi lebih lanjut. |
GAL_INVALID_ARGUMENT |
Terjadi error internal Google saat Google mencoba mengambil
token masing-masing.
Jika Anda melihat peningkatan frekuensi error ini di Logging GCP, hubungi kami untuk mengetahui informasi selengkapnya. |
GAL_NOT_FOUND |
Token akses dan token refresh pengguna yang disimpan di Google
tidak valid dan tidak dapat dimuat ulang lagi. Pengguna harus
menautkan ulang akunnya untuk terus menggunakan layanan Anda.
Jika Anda melihat peningkatan frekuensi error ini di Logging GCP, hubungi untuk informasi lebih lanjut. |
GAL_PERMISSION_DENIED |
Terjadi error internal Google jika berbagi token tidak
diotorisasi.
Jika Anda melihat peningkatan frekuensi error ini di Logging GCP, hubungi kami untuk mengetahui informasi selengkapnya. |
GAL_REFRESH_IN_PROGRESS |
Token akses pengguna telah habis masa berlakunya dan upaya serentak lainnya untuk
memuat ulang token tersebut sedang berlangsung.
Ini bukan masalah dan Anda tidak perlu melakukan tindakan apa pun. |
INVALID_AUTH_TOKEN |
Google telah menerima kode error HTTP 401 dari layanan Anda.
Token akses belum berakhir masa berlakunya, tetapi layanan Anda telah membatalkan validasinya. Gunakan requestId di Logging GCP untuk memeriksa smart Anda
catatan layanan rumah tangga.
|
INVALID_JSON |
Respons JSON tidak dapat diuraikan atau dipahami.
Periksa struktur respons JSON Anda untuk menemukan sintaksis yang tidak valid, seperti sebagai tanda kurung siku tidak cocok, tanpa koma, karakter tidak valid. |
OPEN_AUTH_FAILURE |
Token akses pengguna telah berakhir masa berlakunya dan Google tidak dapat memperbaruinya,
atau Google telah menerima kode error HTTP 401 dari layanan Anda.
Jika Anda melihat peningkatan frekuensi kode ini, periksa apakah Anda juga melihat peningkatan frekuensi error yang terkait dengan intent smart home atau permintaan token refresh. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
Respons menunjukkan kode error yang tidak dikenal.
Jika respons permintaan Anda menunjukkan error, pastikan untuk menggunakan error tersebut yang disediakan dari kode error yang didukung. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Kolom payload respons tidak dapat diuraikan sebagai Objek
JSON.
Periksa apakah kolom payload dalam respons permintaan Anda memiliki tanda kurung yang cocok dan terstruktur dengan benar sebagai kolom JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
Respons tidak menunjukkan status, atau menunjukkan informasi yang salah.
Respons terhadap permintaan fulfillment intent harus menunjukkan status dengan SUCCESS, OFFLINE, ERROR, EXCEPTIONS . Anda
dapat menemukan informasi selengkapnya di
menangani error dan pengecualian.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Satu atau beberapa intent yang ada dalam permintaan tidak ada di
yang dihasilkan.
Pastikan respons eksekusi Anda terstruktur dengan benar dan hasil untuk semua intent dari permintaan ada dalam respons Anda. |
PARTNER_RESPONSE_MISSING_DEVICE |
Satu atau beberapa perangkat yang ada dalam permintaan tidak ada dalam
respons.
Verifikasi bahwa respons eksekusi terstruktur dengan benar dan bahwa semua perangkat ID dari permintaan tersebut ada dalam respons Anda. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
Respons tidak berisi kolom payload .
Pastikan untuk menyertakan kolom payload dalam respons permintaan Anda. Anda dapat mempelajari lebih lanjut tentang cara membangun respons eksekusi. |
PARTNER_RESPONSE_NOT_OBJECT |
Respons tidak dapat diuraikan sebagai Objek JSON.
Periksa semua kolom dalam respons permintaan Anda untuk menemukan karakter yang tidak diinginkan, tanda kurung yang tidak cocok, atau kesalahan pemformatan. Beberapa karakter unicode mungkin tidak didukung. Selain itu, pastikan respons Anda benar sebagai objek JSON. |
PROTOCOL_ERROR |
Gagal memproses permintaan.
Gunakan requestId di Google Cloud Logging untuk memeriksa
log layanan smart home Anda.
|
RESPONSE_TIMEOUT |
Waktu permintaan habis saat menunggu respons.
Periode waktu tunggu untuk mengirim respons adalah 9 detik sejak permintaan dikirimkan. Pastikan untuk mengirimkan respons dalam jangka waktu ini. |
RESPONSE_UNAVAILABLE |
Tidak ada respons yang diterima, atau respons tidak menunjukkan status.
Respons terhadap permintaan fulfillment intent harus disusun sesuai dengan dokumen smart home dan menunjukkan status. |
TRANSIENT_ERROR |
Error sementara adalah error yang akan teratasi dengan sendirinya.
Biasanya, pesan {i>error<i} ini muncul sebagai koneksi ke perangkat atau sehingga layanan dihapus. Juga jika koneksi baru ke server tidak dapat dibuka. |
Log Penelusuran
Setelah Anda merasa nyaman untuk memantau integrasi menggunakan metrik, langkah berikutnya adalah memecahkan masalah kesalahan tertentu menggunakan Cloud Logging Log {i>error<i} adalah entri seperti JSON dengan kolom yang berisi informasi berguna seperti waktu, error, kode dan detail terkait intent smart home asal.
Ada beberapa sistem di dalam Google Cloud yang mengirim log ke proyek Anda setiap saat. Anda harus menulis kueri untuk memfilter log dan temukan yang Anda butuhkan. Kueri dapat didasarkan pada Rentang Waktu, Resource, Severity log, atau entri kustom.
Anda dapat menggunakan tombol kueri untuk membantu membuat filter kustom.
Untuk menentukan Rentang Waktu, klik tombol pilihan rentang waktu
dan pilih salah satu opsi yang disediakan lainnya. Tindakan ini akan memfilter log dan menampilkan log yang berasal dari rentang waktu yang dipilih.Untuk menentukan Resource, klik dropdown Resource, lalu pilih Project Tindakan Asisten Google. Ini menambahkan filter di kueri Anda untuk menampilkan log yang berasal dari project Anda.
Gunakan tombol Severity untuk memfilter berdasarkan Keadaan Darurat, Info, Debug, dan tingkat log keparahan lainnya.
Anda juga dapat menggunakan kolom Kueri di Logs Explorer
untuk memasukkan entri kustom. Mesin kueri yang digunakan oleh isian ini mendukung
kueri dasar seperti pencocokan {i>string<i}, dan jenis kueri yang lebih canggih termasuk
pembanding (<, >=, !=
) dan operator boolean (AND, OR, NOT
).
Misalnya, entri khusus di bawah ini akan mengembalikan kesalahan yang
berasal dari jenis perangkat LIGHT
:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
Buka Library Kueri untuk menemukan lebih banyak contoh cara membuat kueri log secara efektif.
Menguji Perbaikan
Setelah Anda mengidentifikasi error dan menerapkan update untuk memperbaikinya, sebaiknya uji perbaikan Anda secara menyeluruh dengan Google Home Test Suite Kami menyediakan panduan pengguna tentang cara menggunakan Test Suite, yang memandu Anda dalam menguji perubahan secara efektif.
Materi Pembelajaran
Dokumen ini memberikan langkah-langkah untuk memecahkan masalah error di Smart Home {i>Action<i}. Anda juga dapat melihat codelab kami untuk mempelajari lebih lanjut proses debug:
- Codelab Men-debug Smart Home: Panduan memulai cepat untuk men-debug integrasi cloud smart home.
- Men-debug Codelab Local Home: Panduan memulai cepat untuk men-debug integrasi lokal smart home.