Anda dapat menggunakan PromQL untuk membuat kueri dan diagram data Cloud Monitoring dari sumber berikut:
- Google Cloud layanan, seperti Google Kubernetes Engine atau Compute Engine, yang menulis metrik yang dijelaskan dalam daftar metrik sistem Cloud Monitoring.
- Metrik yang ditentukan pengguna, seperti metrik berbasis log dan metrik yang ditentukan pengguna Cloud Monitoring.
- Google Cloud Managed Service for Prometheus, solusi multi-cloud yang terkelola sepenuhnya untuk Prometheus dariGoogle Cloud. Untuk informasi tentang layanan terkelola, termasuk dukungan dari PromQL, lihat Google Cloud Managed Service for Prometheus.
Anda juga dapat menggunakan alat seperti Grafana untuk memetakan data metrik yang diserap ke dalam Cloud Monitoring. Metrik yang tersedia mencakup metrik dari metrik Managed Service for Prometheus dan Cloud Monitoring yang didokumentasikan dalam daftar metrik. Untuk informasi tentang cara menyiapkan Grafana dan alat lainnya berdasarkan Prometheus API, lihat dokumentasi Managed Service for Prometheus tentang Grafana.
Anda juga dapat mengimpor dasbor Grafana ke Cloud Monitoring.
Konvensi penamaan
Model metrik dan konvensi penamaan Prometheus berbeda dengan yang digunakan oleh Cloud Monitoring. Untuk menggunakan PromQL guna membuat kueri data metrik Monitoring, Anda harus mengonversi nama Cloud Monitoring menjadi nama yang setara dan kompatibel dengan PromQL. Untuk informasi tentangkonvensi penamaan, lihat Memetakan metrik Cloud Monitoring ke PromQL.
Mengakses PromQL di Cloud Monitoring
Anda dapat menggunakan PromQL dari tab Code di halaman berikut di Google Cloud konsol:
- Metrics Explorer
- Tambahkan Diagram saat membuat dasbor kustom
Untuk informasi tentang cara mengakses dan menggunakan editor, lihat Menggunakan editor PromQL.
Aturan dan pemberitahuan Prometheus
Anda dapat menggunakan PromQL untuk membuat aturan perekaman dan pemberitahuan pada metrik apa pun di Cloud Monitoring menggunakan pemberitahuan bergaya Prometheus di Cloud Monitoring. Untuk informasi selengkapnya, lihat Pemberitahuan dan evaluasi aturan terkelola atau Pemberitahuan dan evaluasi aturan yang di-deploy sendiri.
Mempelajari PromQL
Untuk mempelajari dasar-dasar penggunaan PromQL, sebaiknya baca dokumentasi open source. Referensi berikut dapat membantu Anda memulai:
Perbedaan PromQL
PromQL untuk Cloud Monitoring mungkin berfungsi sedikit berbeda dari PromQL upstream.
Kueri PromQL di Cloud Monitoring dinilai sebagian di backend Monarch menggunakan bahasa kueri internal, dan ada beberapa perbedaan yang diketahui dalam hasil kueri. Selain perbedaan yang tercantum di bagian ini, PromQL di Cloud Monitoring setara dengan PromQL yang tersedia di Prometheus versi 2.44.Fungsi PromQL yang ditambahkan setelah Prometheus versi 2.44 mungkin tidak didukung.
Pencocokan berdasarkan nama metrik
Hanya pencocokan persis pada nama metrik yang didukung. Anda harus menyertakan pencocokan persis pada nama metrik dalam kueri.
Sebaiknya gunakan solusi berikut untuk skenario umum yang menggunakan pencocok
ekspresi reguler pada label __name__
:
- Konfigurasi adaptor Prometheus sering kali menggunakan operator
=~
untuk mencocokkan beberapa nama metrik. Untuk memperbaiki penggunaan ini, luaskan konfigurasi untuk menggunakan kebijakan terpisah untuk setiap metrik dan beri nama setiap metrik secara eksplisit. Hal ini juga mencegah Anda melakukan penskalaan otomatis secara tidak sengaja pada metrik yang tidak terduga. - Ekspresi reguler sering digunakan untuk membuat grafik beberapa metrik non-dimensi
pada diagram yang sama. Misalnya, jika memiliki metrik seperti
cpu_servicename_usage
, Anda dapat menggunakan karakter pengganti untuk membuat grafik semua layanan secara bersamaan. Menggunakan metrik non-dimensi seperti ini adalah praktik yang sangat buruk di Cloud Monitoring, dan praktik ini menyebabkan performa kueri yang sangat buruk. Untuk memperbaiki penggunaan ini, pindahkan semua dimensi ke label metrik, bukan menyematkan dimensi dalam nama metrik. - Membuat kueri untuk beberapa metrik sering kali digunakan untuk melihat metrik yang
tersedia untuk dikueri. Sebaiknya gunakan panggilan
/labels/__name__/values
untuk menemukan metrik. Anda juga dapat menemukan metrik menggunakan UI Cloud Monitoring. - Mencocokkan beberapa metrik berguna untuk melihat jumlah sampel yang di-scrap, diserap, dan ditagih berdasarkan per metrik. Cloud Monitoring memberikan informasi ini kepada Anda di halaman Pengelolaan Metrik. Anda juga dapat mengakses informasi ini sebagai data metrik menggunakan metrik Sampel yang Ditransfer atau metrik Sampel yang Ditulis oleh ID Atribusi.
Tidak berlaku
Ketidakaktualan tidak didukung di backend Monarch.
Penghitungan irate
Jika periode lihat balik untuk fungsi irate
lebih kecil dari ukuran langkah, kami akan meningkatkan periode lihat balik ke ukuran langkah.
Monarch memerlukan perubahan ini untuk memastikan bahwa tidak ada data
input yang sepenuhnya diabaikan dalam output. Perbedaan ini juga berlaku untuk
penghitungan rate
.
Penghitungan rate
dan increase
Jika periode lihat balik untuk fungsi rate
lebih kecil dari ukuran langkah, kami akan meningkatkan periode lihat balik ke ukuran langkah.
Monarch memerlukan perubahan ini untuk memastikan bahwa tidak ada data input
yang sepenuhnya diabaikan dalam output. Perbedaan ini juga berlaku untuk
penghitungan irate
.
Ada perbedaan dalam penghitungan interpolasi dan ekstrapolasi. Monarch menggunakan algoritma interpolasi yang berbeda dengan Prometheus, dan perbedaan ini dapat menyebabkan hasil yang sedikit berbeda. Misalnya, sampel penghitung Monarch disimpan dengan rentang waktu, bukan stempel waktu tunggal yang digunakan Prometheus. Oleh karena itu, contoh penghitung di Monarch dapat disertakan dalam penghitungan rasio meskipun stempel waktu Prometheus akan mengecualikannya. Hal ini biasanya menghasilkan hasil rasio yang lebih akurat, terutama saat membuat kueri di awal atau akhir deret waktu yang mendasarinya.
Penghitungan histogram_quantile
Penghitungan histogram_quantile
PromQL pada histogram tanpa sampel menghasilkan nilai NaN. Penghitungan bahasa kueri internal tidak menghasilkan nilai;
titik pada stempel waktu akan dihapus.
Perbedaan penghitungan tarif juga dapat memengaruhi input ke
kueri histogram_quantile
.
Fungsi khusus jenis pada metrik dengan jenis yang berbeda
Meskipun Prometheus upstream memiliki jenis lemah, Monarch memiliki jenis
yang kuat. Artinya, menjalankan fungsi khusus untuk satu jenis pada metrik dengan jenis yang berbeda (misalnya, menjalankan rate()
pada metrik GAUGE atau histogram_quantile()
pada metrik COUNTER atau tanpa jenis) tidak berfungsi di Cloud Monitoring, meskipun fungsi ini berfungsi di Prometheus upstream.