Memantau database dengan Cloud Monitoring

Halaman ini menjelaskan cara menggunakan metrik Cloud Monitoring untuk Firestore dengan kompatibilitas MongoDB guna memantau database Anda.

Metrik Cloud Monitoring untuk Firestore dengan kompatibilitas MongoDB

Bagian berikut memberikan ringkasan metrik yang tersedia untuk Firestore dengan kompatibilitas MongoDB.

Resource yang Dimonitor

Resource yang dipantau di Cloud Monitoring merepresentasikan 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 dengan kompatibilitas MongoDB dipantau dengan resource berikut:

Resource Deskripsi
firestore.googleapis.com/Database Jenis resource yang dimonitor yang memberikan perincian untuk project, location, dan database_id.

Metrik

Untuk mengetahui daftar lengkap metrik untuk Firestore, lihat Metrik Firestore. Bagian berikut ini menjelaskan beberapa metrik yang tersedia.

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 lebih mudah diamati.

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_latencies

Metrik api/request_latencies memberikan distribusi latensi di semua permintaan yang telah diselesaikan.

Firestore mencatat metrik dari komponen Layanan Firestore. Metrik latensi mencakup waktu saat Firestore menerima permintaan hingga waktu saat Firestore selesai mengirimkan respons, termasuk interaksi dengan lapisan penyimpanan. Oleh karena itu, latensi pulang pergi (rtt) antara klien dan layanan Firestore tidak disertakan dalam metrik ini.

Metrik operasi dokumen

Firestore menyediakan jumlah pembacaan, penulisan, dan penghapusan. Metrik tulis memberikan perincian antara operasi 'CREATE' dan 'UPDATE'. Metrik ini selaras dengan operasi CRUD.

Metrik berikut dapat digunakan untuk memahami apakah database Anda lebih banyak melakukan operasi baca atau tulis, dan rasio dokumen baru versus dokumen yang dihapus.

  • document/delete_ops_count: Jumlah dokumen yang berhasil dihapus.
  • document/read_ops_count: Jumlah dokumen yang berhasil dibaca dari kueri atau pencarian.
  • document/write_ops_count: Jumlah dokumen yang berhasil ditulis.

Metrik penagihan

Gunakan metrik ini untuk memahami penggunaan penagihan. Metrik ini tidak mencakup penagihan dari operasi administrator (pengindeksan, impor, ekspor, dan penghapusan massal).

  • api/billable_read_units: Jumlah unit baca yang dapat ditagih. Penggunaannya dapat dikelompokkan berdasarkan nama layanan dan metode API.

  • api/billable_write_units: Jumlah unit tulis yang dapat ditagih. Penggunaannya dapat dikelompokkan berdasarkan nama layanan dan metode API.

  • document/billable_managed_delete_write_units: Jumlah unit tulis yang dapat ditagih dari layanan penghapusan terkelola seperti TTL.

Metrik indeks

Kecepatan penulisan indeks dapat dibandingkan dengan metrik document/write_ops_count untuk memahami fanout indeks.

  • index/write_count: Jumlah penulisan indeks.

Metrik TTL

Metrik TTL untuk metrik kompatibilitas Firestore dengan MongoDB digunakan untuk memantau efek kebijakan TTL yang diterapkan.

  • document/ttl_deletion_count: Jumlah total dokumen yang dihapus oleh layanan TTL.
  • document/ttl_expiration_to_deletion_delays: Waktu yang berlalu antara saat dokumen dengan TTL habis masa berlakunya hingga saat dokumen benar-benar dihapus.

Melihat dasbor standar dan membuat dasbor kustom

Firestore dengan kompatibilitas MongoDB mendukung dasbor standar yang menggunakan metrik Cloud Monitoring. Anda juga dapat membuat dasbor kustom.

Melihat metrik penggunaan database

Buka dasbor penggunaan di konsol Google Cloud untuk melihat operasi baca, tulis, dan hapus dokumen dari waktu ke waktu.

Kontrol akses

Dasbor penggunaan memerlukan izin Identity and Access Management (IAM) monitoring.timeSeries.list. Peran Owner, Editor, dan Viewer Project memberikan izin ini. Anda juga dapat memberikan izin ini melalui peran Cloud Monitoring atau peran khusus.

Dasbor penggunaan database

Untuk melihat metrik penggunaan database Firestore dengan kompatibilitas MongoDB, lakukan hal berikut.

  1. Di konsol Google Cloud , buka halaman Databases.

    Buka Databases

  2. Pilih database yang diperlukan dari daftar database.

  3. Di menu navigasi, klik Usage.

Dasbor penggunaan dan laporan penagihan

Dasbor penggunaan Firestore di konsol memberikan perkiraan penggunaan. Langkah ini dapat membantu Anda mengidentifikasi lonjakan penggunaan. Namun, dasbor ini bukan tampilan persis dari operasi yang ditagih. Tagihan penggunaan kemungkinan lebih tinggi. Untuk memantau penagihan, lihat metrik penagihan.

Dalam semua kasus perbedaan, laporan penagihan lebih diutamakan daripada dasbor penggunaan.

Operasi impor dan ekspor menyebabkan perbedaan antara dasbor penggunaan dan penggunaan yang ditagih. Pembacaan dan penulisan yang dilakukan oleh operasi ini tidak muncul di dasbor penggunaan.

Melihat metrik performa database

Halaman Monitoring di bagian Firestore pada konsol Google Cloud mencakup dasbor pemantauan yang telah ditentukan sebelumnya seperti Latensi Permintaan (P50 dan P99), Kode Respons, dan Statistik kueri (P50). Anda juga dapat membuat maksimal satu dasbor kustom. Untuk mengakses halaman Monitoring database, ikuti langkah-langkah berikut:

  1. Di Google Cloud console, buka halaman Databases Firestore.

    Buka Databases

  2. Pilih database dari daftar.

  3. Di menu navigasi, klik Monitoring untuk membuka dasbor.

Membuat dasbor Cloud Monitoring kustom

Di Cloud Monitoring, dasbor kustom memungkinkan Anda menampilkan informasi yang relevan bagi Anda secara teratur. Misalnya, Anda dapat membuat dasbor untuk menampilkan metrik performa dan kebijakan pemberitahuan untuk project di lingkungan produksi Anda.

Untuk mengetahui informasi selengkapnya tentang cara menyiapkan dasbor kustom, lihat Mengelola dasbor kustom dan Menambahkan widget dasbor.

Membuat kebijakan pemberitahuan

Di Cloud Monitoring, Anda dapat membuat pemberitahuan untuk memberi tahu Anda saat terjadi perubahan pada kondisi metrik. Anda dapat menggunakan pemberitahuan ini untuk mengetahui adanya potensi masalah sebelum masalah tersebut memengaruhi pengguna Anda.

Untuk mengetahui informasi selengkapnya tentang cara membuat pemberitahuan, lihat Membuat kebijakan pemberitahuan batas metrik.

Pertimbangkan contoh berikut saat membuat kebijakan pemberitahuan latensi. Kebijakan pemberitahuan memeriksa latensi p99 dalam rentang waktu 5 menit. Jika latensi p99 tetap lebih tinggi dari 250 milidetik selama 5 menit, pemberitahuan akan dipicu.

Konsol

  1. Di konsol Google Cloud , buka halaman Monitoring, lalu pilih   Alerting.

    Buka Monitoring

  2. Pilih Create Policy.

  3. Pilih metrik Request Latencies dari resource Consumed API.

  4. Tambahkan filter layanan untuk firestore.googleapis.com untuk database Firestore Native.

  5. Klik Next untuk mengonfigurasi pemicu.

  6. Pilih Condition Types sebagai Threshold.

    Kondisi batas ditetapkan ke nilai batas 250 milidetik. Pemberitahuan dipicu saat nilai latensi p99 tetap sama selama periode rolling window (5 menit).

  7. Tetapkan Threshold value sebagai 250.

  8. Klik Next untuk mengonfigurasi notifikasi.

  9. Tetapkan nama kebijakan pemberitahuan, lalu klik Next.

  10. Tinjau konfigurasi pemberitahuan tersebut, lalu klik Create Policy.

MQL

Anda dapat menerapkan kebijakan pemberitahuan latensi yang sama menggunakan kueri Monitoring Query Language (MQL). Untuk contoh penggunaan MQL lainnya, lihat Contoh kueri MQL.

fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
    [value_request_latencies_percentile:
      percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'