1. Sebelum memulai
Seperti yang telah dibahas dalam codelab Men-debug Smart Home, kami memublikasikan metrik dan log ke project Smart Home Anda. Metrik membantu Anda menentukan tempat Action Smart Home Anda mengalami masalah, dan log berguna saat melakukan pembahasan mendalam untuk mengatasi masalah tersebut.
Selain metrik yang kami sediakan untuk project Anda, Anda juga dapat membuat metrik sendiri menggunakan Metrik Berbasis Log dari Google Cloud Platform. Ini memungkinkan Anda memantau pola tertentu dalam log dan men-debug masalah kualitas secara efektif.
Prasyarat
- Memiliki Integrasi Kompatibel dengan Smart Home
- Menyelesaikan codelab Men-debug Smart Home
Yang akan Anda pelajari
- Cara menulis kueri yang efektif untuk memfilter log error Smart Home
- Cara membuat metrik berbasis log untuk menghasilkan metrik dari kueri Anda
- Cara membuat diagram dan dasbor dari metrik berbasis log untuk pemantauan
2. Bekerja dengan Log
Seperti yang telah kita bahas secara singkat dalam Codelab Proses Debug Smart Home, bekerja dengan log adalah kunci keberhasilan project Anda. Tersedia berbagai alat hebat di Google Cloud Platform untuk memantau dan menganalisis log Anda. Untuk mengakses semua log yang tersedia bagi project, Anda dapat menggunakan Logs Explorer.
Mengakses Log
Langkah pertama untuk mengakses log Anda adalah login ke Google Cloud Platform dan memilih project Anda. Buka Logs Explorer menggunakan menu samping, dengan membuka Operations > Logging > Logs Explorer. Setelah membuka alat, Anda akan melihat tampilan ini:
Logs Explorer terdiri dari dua bagian utama: Bagian untuk menulis kueri Anda di bagian atas (Builder kueri), dan area untuk menampilkan hasil yang cocok (Hasil kueri).
Berbagai komponen di seluruh Google menulis log ke project Anda secara default. Untuk menemukan dan bekerja dengan log yang berasal dari integrasi Smart Home, Anda harus menulis kueri kustom.
Menulis Kueri
Log diterbitkan ke project berdasarkan jenis resource. Setiap jenis resource mewakili platform yang berbeda dalam Google. Log yang berasal dari platform Smart Home tersedia untuk project Anda pada jenis resource assistant_action_project
.
Selain itu, semua log diberi tingkat keparahan saat pembuatan. Dengan log Smart Home, kami menggunakan level ERROR
untuk log yang mewakili error dan pengecualian, serta level DEBUG
untuk yang lainnya.
Pada contoh berikut, kita akan menulis kueri untuk memfilter log yang hanya berasal dari platform kita yang mewakili error, sebagai berikut:
Setelah selesai menulis kueri, klik tombol Jalankan kueri untuk memulai kueri. Perintah ini akan memunculkan error yang berasal dari integrasi Smart Home:
Seperti yang Anda lihat, kami memiliki sejumlah error yang muncul beberapa kali dalam satu jam terakhir. Setiap baris mewakili satu log error. Anda selanjutnya dapat mengklik log individual dan meluaskan kolom bertingkat untuk melihat informasi yang ada di dalamnya.
Menggunakan Histogram
Logs Explorer menyediakan fitur Histogram yang berguna untuk melihat distribusi waktu log yang cocok dengan kueri Anda. Untuk mengaktifkan Histogram, klik LAYOUT HALAMAN dari tombol pojok kanan atas dan centang Histogram untuk mengaktifkan fitur.
Setelah diaktifkan, Anda akan melihat distribusi log yang cocok dengan kueri:
Seperti yang dapat Anda lihat pada gambar di atas, kami memiliki beberapa error yang dikelompokkan menurut ketersebarannya dalam satu jam terakhir. Mereka tampaknya membentuk tiga kelompok sekitar pukul 13.45, 14.00, dan 14.15. Histogram dapat membantu Anda mendeteksi pola yang sulit dilihat dengan memeriksa nilai stempel waktu saja.
Saat ini kueri yang kita gunakan tidak membedakan antara log dan menunjukkan semua error yang berasal dari Integrasi Smart Home. Sering kali Anda mungkin ingin membedakan error, misalnya untuk melacak pola error yang berasal dari jenis atau karakteristik perangkat tertentu. Untuk melakukannya, kita akan mempelajari cara menulis kueri lanjutan.
Kueri Lanjutan
Saat memeriksa log aktivitas Smart Home, Anda akan melihat berbagai kolom tempat Anda dapat mengumpulkan informasi:
action
trait
: Targetkan fitur perangkat menurut pengguna (misalnya, OnOff, StartStop, Kecerahan)actionType
: Status fitur terperinci (misalnya, Aktif, Nonaktif, Jeda, Berhenti, Lanjutkan)
device
deviceType
: Targetkan jenis perangkat berdasarkan pengguna (misalnya, Lampu, Tombol, Mesin cuci)
status
isSuccess
: Apakah hasil tindakan dianggap berhasil (true / false)statusType
: Kode status untuk hasil tindakan (menunjukkan kode error jika gagal)externalDebugString
: String debug untuk tindakan (menjelaskan error secara mendetail)
Kolom lainnya
Ada juga kolom tambahan tempat Anda dapat memperoleh informasi:
requestId
: ID unik yang terkait dengan permintaan (dibuat oleh Google)executionType
: Jalur yang digunakan oleh permintaan (menunjukkan apakah Cloud atau Lokal)latencyMsec
: Latensi yang dirasakan untuk permintaan di Server Google (dalam milidetik)locale
: Dari pasangan bahasa/wilayah mana permintaan akan dikirim (misalnya, en-US, fr-FR)
Dengan menggunakan kolom fitur dari daftar di atas, kita akan memodifikasi kueri untuk hanya menyertakan error yang berasal dari fitur OnOff sebagai berikut:
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
Setelah menjalankan kueri yang diperbarui, sistem akan mengidentifikasi log dan menampilkan hasil yang sesuai:
Sejauh ini kita telah melakukan semua kueri secara manual. Ini adalah cara terbaik untuk memeriksa status error dengan cepat, tetapi tidak cukup baik untuk memantau perubahan pola error dari waktu ke waktu. Untuk mengotomatiskan alur ini dan mengambil data dari jangka waktu yang lebih lama, kita akan membuat metrik berbasis log.
3. Metrik Berbasis Log
Untuk menghitung jumlah log yang cocok dengan kueri Anda dari waktu ke waktu, Anda dapat menggunakan metrik berbasis log. Tindakan ini memungkinkan Anda melihat pola dan di seluruh log serta memberikan analisis yang baik tentang masalah yang mendasarinya.
Membuat Metrik Berbasis Log
Untuk membuat metrik berbasis log, buka Operasi > Logging > Metrik Berbasis Log. Ini akan menampilkan daftar metrik berbasis log yang sudah tersedia di project Anda. Setelah mengklik tombol BUAT METRIK, Anda akan melihat layar pembuatan metrik berbasis log:
Ada dua jenis metrik utama: Metrik penghitung menghitung jumlah log yang cocok dengan kueri Anda. Metrik distribusi melacak distribusi yang mendasarinya dan memungkinkan operasi statistik seperti persentil ke-95, median, dan rata-rata.
Scroll ke bawah, Anda akan melihat bagian filter tempat mengetik kueri.
Kita akan menempelkan kueri dari bagian sebelumnya di area teks Build filter.
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
Anda juga dapat mengklik tombol PRATINJAU LOG untuk melihat tampilan cepat log sebelumnya yang cocok dengan filter Anda. Setelah selesai, Anda dapat mengklik tombol BUAT METRIK dan lanjut ke bagian berikutnya.
Melihat Data Metrik Berbasis Log
Setelah metrik berbasis log kami dibuat, metrik tersebut akan tersedia di bagian Metrik yang ditentukan pengguna di halaman Metrik berbasis log.
Dari menu yang sesuai dengan metrik berbasis log (3 titik), pilih Lihat di Metrics Explorer untuk melihat data yang dikumpulkan dalam metrik berbasis log:
Begitu terjadi error baru, error tersebut akan dicatat oleh metrik berbasis log dan ditampilkan di jendela diagram dalam Metrics Explorer.
Memantau melalui Dasbor Kustom
Setelah melihat metrik berbasis log baru berfungsi sebagaimana mestinya, kini saatnya menyimpan tampilan diagram ini ke dalam dasbor kustom. Untuk itu, klik tombol Simpan Chart di pojok kanan atas Metrics Explorer. Tindakan ini akan memunculkan perintah untuk memberi nama diagram dan memilih Dasbor yang ingin Anda gunakan untuk menyimpan:
Setelah kita menyimpan diagram di dasbor, kita dapat mengaksesnya dengan mudah dari sana. Untuk mengakses daftar dasbor yang tersedia di project Anda, buka Operasi > Pemantauan > Dasbor.
Kita telah menyimpan diagram di dasbor bernama "Dasbor Codelab". Jika dibuka, akan terlihat tampilan berikut:
Seperti yang Anda lihat, diagram yang mewakili metrik berbasis log ditampilkan di sini, beserta data yang baru dikumpulkan. Log smart home diterbitkan ke project Anda secara realtime. Saat log baru tersedia, Anda akan segera melihatnya dihitung dengan metrik berbasis log.
4. Selamat
Selamat! Anda telah berhasil mempelajari cara mengubah kueri menjadi metrik berbasis log dan menyimpannya ke dasbor kustom untuk pemantauan.
Langkah berikutnya
Dari Codelab ini, coba latihan berikut dan jelajahi resource tambahan:
- Lihat panduan Membuat Metrik Distribusi untuk membuat metrik berbasis log di kolom numerik seperti latensi.
- Tinjau Contoh Library Kueri yang disediakan oleh Google Cloud untuk melihat beberapa filter kompleks yang dapat Anda gunakan untuk metrik berbasis log.