Cloud Monitoring mengumpulkan metrik, peristiwa, dan metadata dari produk Google Cloud . Dengan Cloud Monitoring, Anda juga dapat menyiapkan dasbor kustom dan notifikasi penggunaan.
Dokumen ini memandu Anda menggunakan metrik, mempelajari dasbor metrik kustom, dan menyetel pemberitahuan.
Resource yang Dimonitor
Resource yang dimonitor di Cloud Monitoring mewakili entitas logis atau fisik, seperti virtual machine, database, atau aplikasi. Resource yang dimonitor berisi serangkaian metrik unik yang dapat dijelajahi, dilaporkan melalui dasbor, atau digunakan untuk membuat pemberitahuan. Setiap resource juga memiliki serangkaian label resource, yang merupakan key-value pair yang menyimpan informasi tambahan tentang resource. Label resource tersedia untuk semua metrik yang terkait dengan resource.
Dengan menggunakan Cloud Monitoring API, performa Firestore dalam mode Datastore dipantau dengan resource berikut:
| Resource | Deskripsi | Mode database yang didukung |
firestore.googleapis.com/Database (direkomendasikan) | Jenis
resource yang dimonitor yang memberikan perincian untuk project,
location* , dan database_id . Label
database_id akan menjadi (default) untuk database yang dibuat
tanpa nama tertentu. |
Berlaku untuk kedua mode. |
datastore_request | Jenis resource yang dimonitor untuk project Datastore dan tidak memberikan perincian untuk database. |
Metrik
Firestore tersedia dalam dua mode yang berbeda, yaitu Firestore Native dan Firestore dalam mode Datastore. Untuk perbandingan fitur antara kedua mode ini, lihat Memilih antara mode database.
Untuk mengetahui daftar lengkap metrik untuk Firestore dalam mode Datastore, lihat Metrik Firestore dalam mode Datastore.
Metrik service runtime
Metrik serviceruntime
memberikan ringkasan umum tentang traffic project. Metrik ini tersedia untuk sebagian besar API Google Cloud . Jenis resource yang dimonitor
consumed_api
berisi metrik umum ini. Metrik ini diambil sampelnya
setiap 30 menit sehingga data menjadi halus.
Label resource yang penting untuk metrik serviceruntime adalah method. Label ini
mewakili metode RPC dasar yang dipanggil. Metode SDK yang Anda panggil mungkin
tidak harus memiliki nama yang sama dengan metode RPC dasar. Hal ini
karena SDK menyediakan abstraksi API tingkat tinggi. Namun, saat mencoba
memahami cara aplikasi Anda berinteraksi dengan Firestore, penting
untuk memahami metrik berdasarkan nama metode RPC.
Jika Anda perlu mengetahui metode RPC dasar untuk metode SDK tertentu, lihat dokumentasi API.
api/request_count
Metrik ini memberikan jumlah permintaan yang selesai, di seluruh protokol(protokol permintaan, seperti http, gRPC, dll.),
kode respons (kode respons HTTP), response_code_class (class kode respons, seperti 2xx, 4xx,dll.), dan grpc_status_code (kode respons gRPC numerik). Gunakan metrik ini untuk mengamati permintaan API secara keseluruhan dan menghitung tingkat error.
Pada gambar 1, permintaan yang menampilkan kode 2xx yang dikelompokkan menurut layanan dan metode dapat dilihat. Kode 2xx adalah kode status HTTP yang menunjukkan bahwa permintaan berhasil.
Pada gambar 2, commit yang dikelompokkan menurut response_code dapat dilihat. Dalam contoh ini, kita hanya melihat respons HTTP 200 yang menunjukkan bahwa database dalam kondisi baik.
Gunakan metrik runtime layanan berikut untuk memantau database Anda.
api/request_count di jenis resource datastore_request
Metrik api/request_count juga tersedia di bagian jenis resource datastore_request dengan perincian api_method dan response_code. Gunakan metrik ini sebagai gantinya untuk memanfaatkan periode pengambilan sampel yang lebih baik, yang membantu menangkap lonjakan.
api/request_latencies
Metrik api/request_latencies memberikan distribusi latensi di semua permintaan yang telah diselesaikan.
Firestore mencatat metrik dari komponen Firestore Service. Metrik latensi mencakup waktu saat Firestore menerima permintaan hingga waktu saat Firestore selesai mengirim respons, termasuk interaksi dengan lapisan penyimpanan. Oleh karena itu, latensi dua arah (rtt) antara klien dan layanan Firestore tidak disertakan dalam metrik ini.
api/request_sizes dan api/response_sizes
Metrik api/request_sizes dan api/response_sizes masing-masing memberikan insight tentang ukuran payload (dalam byte). Hal ini dapat berguna untuk memahami beban kerja tulis yang mengirimkan data dalam jumlah besar atau kueri yang terlalu luas, dan menampilkan payload besar.
Pada gambar 5, Anda dapat melihat peta panas untuk ukuran respons metode RunQuery.
Kita dapat melihat bahwa ukuran tetap stabil, dengan median 50 byte, dan secara keseluruhan antara 10 byte dan 100 byte. Perhatikan bahwa ukuran payload selalu diukur dalam byte yang tidak dikompresi, tidak termasuk overhead kontrol transmisi.
Metrik operasi entity
Metrik ini memberikan distribusi dalam byte ukuran payload untuk pembacaan (pencarian dan kueri) dan penulisan ke database Firestore. Nilai tersebut menunjukkan total ukuran payload. Misalnya, hasil apa pun yang ditampilkan oleh kueri.
Metrik ini mirip dengan metrik api/request_sizes dan api/response_sizes dengan perbedaan utama adalah metrik operasi entitas memberikan pengambilan sampel yang lebih terperinci, tetapi perincian yang kurang terperinci.
Misalnya, metrik operasi entitas menggunakan datastore_request resource yang dipantau sehingga tidak ada perincian layanan atau metode.
entity/read_sizes: Distribusi ukuran entity baca, dikelompokkan menurut jenis.entity/write_sizes: Distribusi ukuran entitas yang ditulis, dikelompokkan menurut operasi.
Metrik indeks
Kecepatan penulisan indeks dapat dibandingkan dengan metrik document/write_ops_count
untuk memahami rasio fanout indeks.
index/write_count: Jumlah penulisan indeks.
Pada gambar 7, Anda dapat melihat bagaimana kecepatan penulisan indeks dapat dibandingkan dengan kecepatan penulisan dokumen. Dalam contoh ini, untuk setiap penulisan dokumen, ada sekitar 6 penulisan indeks, yang merupakan tingkat fanout indeks yang relatif kecil.
Metrik TTL
Metrik TTL tersedia untuk database Firestore Native dan Firestore dalam mode Datastore. Gunakan metrik ini untuk memantau dampak penerapan kebijakan TTL.
entity/ttl_deletion_count: Jumlah total entitas yang dihapus oleh layanan TTL.entity/ttl_expiration_to_deletion_delays: Waktu yang berlalu antara saat entitas dengan TTL habis masa berlakunya hingga saat entitas benar-benar dihapus.Jika Anda melihat bahwa penundaan penghapusan TTL memerlukan waktu lebih dari 24 jam, hubungi dukungan.
Langkah berikutnya
- Pelajari cara menggunakan dasbor Cloud Monitoring untuk melihat metrik.