Memetakan metrik Cloud Monitoring ke PromQL

Anda dapat menggunakan Prometheus Query Language (PromQL) untuk membuat kueri semua metrik yang disimpan oleh Cloud Monitoring.

Memetakan nama metrik Cloud Monitoring ke PromQL

Nama metrik Cloud Monitoring mencakup dua komponen, domain (seperti compute.googleapis.com/) dan jalur (seperti instance/disk/max_read_ops_count). Karena PromQL hanya mendukung karakter khusus : dan _, Anda harus membuat nama metrik Monitoring kompatibel dengan PromQL terlebih dahulu. Untuk memetakan nama metrik Pemantauan ke PromQL, terapkan aturan berikut:

  • Ganti / pertama dengan :.
  • Ganti semua karakter khusus lainnya (termasuk . dan karakter / lainnya) dengan _.

Tabel berikut mencantumkan beberapa nama metrik dan PromQL yang setara:

Nama metrik Cloud Monitoring Nama metrik PromQL
compute.googleapis.com/instance/cpu/utilization compute_googleapis_com:instance_cpu_utilization
logging.googleapis.com/log_entry_count logging_googleapis_com:log_entry_count

Metrik nilai distribusi Cloud Monitoring dapat dikueri seperti histogram Prometheus, dengan akhiran _count, _sum, atau _bucket ditambahkan ke nama metrik:

Nama metrik Cloud Monitoring Nama metrik PromQL
networking.googleapis.com/vm_flow/rtt networking_googleapis_com:vm_flow_rtt_sum
networking_googleapis_com:vm_flow_rtt_count
networking_googleapis_com:vm_flow_rtt_bucket

Menentukan jenis resource yang dimonitor

Jika metrik hanya dikaitkan dengan satu jenis resource yang dimonitor Cloud Monitoring, kueri PromQL akan berfungsi tanpa menentukan jenis resource secara manual. Namun, beberapa metrik dalam Cloud Monitoring, termasuk beberapa metrik sistem, dipetakan ke lebih dari satu jenis resource.

Anda dapat melihat jenis resource yang dimonitor yang dipetakan ke metrik dengan melihat daftar metrikTrusted Cloud by S3NS . Setiap entri dalam dokumentasi mencantumkan jenis resource yang dimonitor terkait di kolom pertama setiap entri di bawah jenis. Jika tidak ada jenis resource yang dimonitor yang tercantum, metrik dapat dikaitkan dengan jenis apa pun.

Jika metrik dikaitkan dengan lebih dari satu jenis resource, Anda harus menentukan jenis resource dalam kueri PromQL. Ada label khusus, monitored_resource, yang dapat Anda gunakan untuk memilih jenis resource.

Jenis resource yang dimonitor biasanya berupa string pendek, seperti gce_instance, tetapi terkadang muncul sebagai URI lengkap, seperti monitoring.googleapis.com/MetricIngestionAttribution. Kueri PromQL yang terbentuk dengan baik mungkin terlihat seperti berikut:

  • logging_googleapis_com:byte_count{monitored_resource="k8s_container"}
  • loadbalancing_googleapis_com:l3_external_egress_bytes_count{monitored_resource="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"}

Jika tidak menggunakan label monitored_resource saat diperlukan, Anda akan menerima error berikut:

metric is configured to be used with more than one monitored resource type; series selector must specify a label matcher on monitored resource name

Menyelesaikan konflik label

Di Cloud Monitoring, label dapat berasal dari metrik atau resource. Jika label metrik memiliki nama kunci yang sama dengan label resource, Anda dapat merujuk ke label metrik secara khusus dengan menambahkan awalan metric_ ke nama kunci label dalam kueri.

Misalnya, Anda memiliki label resource dan label metrik yang keduanya bernama pod_name dalam metrik example.googleapis.com/user/widget_count.

  • Untuk memfilter nilai label resource, gunakan
    example_googleapis_com:user_widget_count{pod_name="RESOURCE_LABEL_VALUE"}

  • Untuk memfilter nilai label metrik, gunakan
    example_googleapis_com:user_widget_count{metric_pod_name="METRIC_LABEL_VALUE"}