Menghitung rasio dua metrik di Cloud Monitoring memungkinkan Anda mengubah jumlah mentah menjadi proporsi atau rasio, seperti menghitung persentase permintaan HTTP yang gagal relatif terhadap total permintaan. Anda dapat membuat diagram dan memantau rasio metrik menggunakan PromQL, antarmuka berbasis menu di Google Cloud konsol, atau filter deret waktu di Cloud Monitoring API. Memahami interaksi antara frekuensi pengambilan sampel, pengelompokan label, dan periode penyelarasan akan membantu Anda menghindari anomali saat mengonfigurasinya.
Praktik terbaik
Untuk memantau atau membuat diagram rasio data metrik, sebaiknya gunakan PromQL. Anda dapat menggunakan PromQL dengan Cloud Monitoring API dan dengan Google Cloud konsol. Google Cloud Konsol menyertakan editor kode yang memberikan saran, pendeteksian error, dan dukungan lainnya untuk membuat kueri PromQL yang valid.
Untuk membuat kebijakan pemberitahuan yang memantau rasio metrik saat Anda tidak memahami PromQL, gunakan Cloud Monitoring API dan sertakan filter deret waktu. Untuk contohnya, lihat Rasio metrik.
Untuk membuat diagram rasio data metrik saat Anda tidak memahami PromQL, sebaiknya gunakan Google Cloud konsol dan antarmuka berbasis menu. Untuk mengetahui petunjuk mendetail, lihat Membuat diagram rasio metrik dan Menambahkan diagram dan tabel ke dasbor kustom.
Batasan dengan rasio
Saat Anda mengonfigurasi rasio, batasan berikut akan berlaku:
Setelah agregasi, label dalam deret waktu penyebut harus sama dengan, atau merupakan subset dari, label dalam deret waktu pembilang.
Sebaiknya pilih opsi agregasi sehingga setelah agregasi, deret waktu pembilang dan penyebut memiliki label yang sama.
Pertimbangkan konfigurasi saat deret waktu pembilang memiliki label
method,quota_metric, danproject_id. Deret waktu penyebut memiliki labellimit_name,quota_metric, danproject_id. Pilihan yang valid untuk pengelompokan penyebut bergantung pada pilihan untuk pembilang:- Pembilang dikelompokkan menurut label
method: Gabungkan deret waktu penyebut ke dalam satu deret waktu. Tidak ada hasil pengelompokan lain yang menghasilkan label untuk deret waktu penyebut sebagai subset dari label untuk deret waktu pembilang. - Pembilang dikelompokkan menurut label
quota_metric: Kelompokkan penyebut menurut label tersebut atau gabungkan semua deret waktu dalam penyebut ke dalam satu deret waktu. - Pembilang dikelompokkan menurut label
quota_metricdanproject_id: Kelompokkan penyebut menurut kedua label, menurut satu label, atau gabungkan deret waktu penyebut ke dalam satu deret waktu.
Opsi agregasi penyebut yang valid selalu menghilangkan label
limit_namedari deret waktu yang dikelompokkan karena label tersebut tidak ada dalam deret waktu pembilang.- Pembilang dikelompokkan menurut label
Periode penyelarasan harus sama untuk pembilang dan penyebut saat mengonfigurasi diagram menggunakan Google Cloud konsol; namun, kolom ini dapat berbeda saat menggunakan Cloud Monitoring API.
Sebaiknya gunakan periode penyelarasan yang sama untuk pembilang dan penyebut, terlepas dari alat yang Anda gunakan untuk membuat diagram.
Pembilang dan penyebut harus memiliki jenis nilai yang sama . Misalnya, jika pembilang berjenis
DOUBLE, penyebut juga harus berjenisDOUBLE.Rasio mengharuskan metrik pembilang dan penyebut memiliki jenis nilai
DOUBLEatauINT64.Deret waktu yang disejajarkan untuk pembilang dan penyebut harus memilikijenis metrik yang sama. Jika kedua metrik memiliki jenis yang berbeda, Anda harus menggunakan penyelarasan untuk mengonversinya ke jenis yang sama.
Pertimbangkan konfigurasi saat metrik
DELTAdipilih untuk pembilang dan metrikGAUGEdipilih untuk penyebut. Dalam situasi ini, gunakan penyelarasan tarif,ALIGN_RATE, untuk mengonversi metrikDELTAke metrikGAUGE. Untuk contohnya, lihat Kebijakan pemberitahuan rasio tentang penggunaan kuota tarif untuk satu batas.Untuk rasio yang tidak ditentukan dengan PromQL, jenis resource yang dimonitor harus sama untuk pembilang dan penyebut.
Misalnya, jika resource untuk metrik pembilang adalah instance Compute Engine, resource untuk metrik penyebut juga harus berupa instance Compute Engine.
Anomali karena ketidakcocokan pengambilan sampel dan penyelarasan
Secara umum, sebaiknya hitung rasio berdasarkan deret waktu yang dikumpulkan untuk satu jenis metrik, dengan menggunakan nilai label. Rasio yang dihitung dari dua jenis metrik yang berbeda dapat mengalami anomali karena periode pengambilan sampel dan jendela penyelarasan yang berbeda.
Misalnya, Anda memiliki dua jenis metrik yang berbeda, jumlah total RPC dan jumlah error RPC, dan Anda ingin menghitung rasio RPC jumlah error terhadap total RPC. RPC yang tidak berhasil dihitung dalam deret waktu dari kedua jenis metrik. Oleh karena itu, ada kemungkinan bahwa, saat Anda menyelaraskan deret waktu, RPC yang tidak berhasil tidak muncul dalam interval penyelarasan yang sama untuk kedua deret waktu. Perbedaan ini dapat terjadi karena beberapa alasan, termasuk yang berikut:
- Karena ada dua deret waktu yang berbeda yang mencatat peristiwa yang sama, ada dua nilai penghitung yang mendasarinya yang menerapkan koleksi, dan keduanya tidak diperbarui secara atomik.
- Frekuensi pengambilan sampel mungkin berbeda. Saat deret waktu disejajarkan ke periode umum, jumlah untuk satu peristiwa mungkin muncul dalam interval penyelarasan yang berdekatan dalam deret waktu untuk metrik yang berbeda.
Perbedaan jumlah nilai dalam interval penyelarasan yang sesuai dapat menyebabkan nilai rasio error/total yang tidak masuk akal seperti 1/0 atau 2/1.
Rasio angka yang lebih besar cenderung tidak menghasilkan nilai yang tidak masuk akal. Anda bisa mendapatkan angka yang lebih besar dengan agregasi, baik dengan menggunakan jendela penyelarasan yang lebih lama dari periode pengambilan sampel, atau dengan mengelompokkan data untuk label tertentu. Teknik ini meminimalkan efek perbedaan kecil dalam jumlah titik dalam interval tertentu. Artinya, perbedaan dua titik lebih signifikan jika jumlah titik yang diharapkan dalam interval adalah 3 daripada jika jumlah yang diharapkan adalah 300.
Jika Anda menggunakan jenis metrik bawaan, Anda mungkin tidak punya pilihan selain menghitung rasio di seluruh jenis metrik untuk mendapatkan nilai yang Anda butuhkan.
Jika Anda mendesain metrik kustom yang mungkin menghitung hal yang sama—seperti RPC yang menampilkan status error—dalam dua metrik yang berbeda, sebaiknya pertimbangkan satu metrik, yang hanya menyertakan setiap jumlah satu kali. Misalnya, Anda menghitung RPC dan ingin melacak rasio RPC yang tidak berhasil terhadap semua RPC. Untuk mengatasi masalah ini, buat satu jenis metrik untuk menghitung RPC, dan gunakan label untuk mencatat status pemanggilan, termasuk status "OK". Kemudian, setiap nilai status, error, atau "OK", dicatat dengan memperbarui satu penghitung untuk kasus tersebut.
Pemberitahuan palsu karena anomali penghitungan rasio
Untuk menghindari pemberitahuan palsu karena error sementara atau data yang tidak ada, tetapkan durasi kueri PromQL Anda setidaknya dua kali interval evaluasi:
- Google Cloud konsol: Tetapkan durasi di kolom Duration saat mengonfigurasi kondisi pemberitahuan.
- Cloud Monitoring API atau Terraform: Tentukan durasi menggunakan kolom
AlertPolicy.Condition.PrometheusQueryLanguageCondition.duration.
Langkah berikutnya
Untuk mengetahui informasi tentang cara menggunakan PromQL untuk mengonfigurasi kebijakan pemberitahuan, lihat Ringkasan pemberitahuan PromQL.
Untuk mengetahui informasi tentang cara membuat diagram, lihat dokumen berikut:
- Untuk membuat diagram sementara, lihat Metrics Explorer.
- Untuk menambahkan diagram ke dasbor menggunakan Google Cloud konsol, lihat Menambahkan diagram dan tabel ke dasbor kustom.
- Untuk mengelola diagram menggunakan Cloud Monitoring API, lihat Membuat dan mengelola dasbor menggunakan API.