Menggunakan exemplar Prometheus

Dokumen ini menjelaskan cara menggunakan Google Cloud Managed Service for Prometheus untuk menyerap contoh Prometheus pada metrik histogram. Anda harus menggunakan salah satu dari hal berikut:

  • Koleksi terkelola Managed Service for Prometheus versi 0.7.0 atau yang lebih baru
  • Koleksi yang di-deploy sendiri oleh Managed Service for Prometheus versi 2.35.0-gmp.5-gke.0 atau yang lebih tinggi
  • OpenTelemetry Collector

Contoh biasanya digunakan untuk mengaitkan ID rekaman aktivitas dengan data metrik yang dikumpulkan dalam interval waktu, tetapi dapat digunakan untuk mengaitkan data non-metrik apa pun dengan metrik yang dikumpulkan. Dengan menyimpan informasi rekaman aktivitas bersama data metrik, Anda dapat dengan cepat mengidentifikasi rekaman aktivitas yang terkait dengan perubahan mendadak pada nilai metrik. Anda tidak perlu melakukan referensi silang secara manual pada informasi rekaman aktivitas dan data metrik menggunakan stempel waktu untuk mengidentifikasi apa yang terjadi di aplikasi saat data metrik dicatat.

Contoh Managed Service for Prometheus kompatibel dengan Cloud Trace dan dengan alat pelacakan pihak ketiga seperti Grafana Tempo.

Screenshot berikut menampilkan diagram Grafana dari kumpulan bucket histogram dan contoh terkait, dengan satu contoh diperluas:

Diagram Grafana yang menampilkan bucket dan
contoh histogram.

Contoh Prometheus di Managed Service for Prometheus

Contoh didukung di Prometheus menggunakan format eksposisi OpenMetrics. Contoh OpenMetrics memiliki struktur berikut:

  • Nilai contoh: harus berupa bilangan bulat atau float 64-bit.
  • (Opsional) Stempel waktu: harus berupa detik Epoch Unix, dapat berupa nilai negatif.
  • Sejumlah label untuk contoh, biasanya termasuk nilai trace_id dan span_id; total panjang semua nama dan nilai label tidak boleh melebihi 128 karakter UTF-8, atau 128 rune dalam aplikasi Go.

Google Cloud Managed Service for Prometheus hanya dapat menyerap contoh yang dilampirkan ke metrik histogram. Contoh yang dilampirkan ke metrik penghitung tidak dapat diserap. Metrik histogram Prometheus dikonversi ke jenis Distribution Cloud Monitoring yang analog, yang mendukung contoh. Metrik non-distribusi di Cloud Monitoring tidak mendukung contoh.

Contoh tetap tersedia untuk kueri selama 24 bulan. Bandingkan periode retensi ini dengan Prometheus upstream, tempat contoh hanya disimpan saat data berada di memori, biasanya kurang dari 14 hari. Managed Service for Prometheus menyimpan contoh dengan deret waktu, sehingga contoh tersebut dipertahankan sesuai dengan kebijakan retensi untuk deret waktu. Untuk mengetahui informasi selengkapnya tentang retensi data di Cloud Monitoring, lihat Retensi data.

Mengaktifkan penyerapan contoh

Jika Anda menggunakan Managed Service for Prometheus dengan pengumpulan terkelola versi 0.7.0 atau yang lebih tinggi, penyerapan contoh akan otomatis diaktifkan.

Jika menggunakan Managed Service for Prometheus dengan pengumpulan yang di-deploy sendiri, Anda harus mengaktifkan penyerapan contoh saat memulai server dengan menentukan flag fitur berikut:

--enable-feature=exemplar-storage

Menulis metrik dengan contoh

Setiap klien Prometheus memiliki petunjuknya sendiri untuk menggunakan contoh dengan benar di klien tersebut. Ikuti petunjuk ini agar aplikasi Anda mengekspos metrik dalam format OpenMetrics untuk Prometheus guna mengambil data dari endpoint /metrics aplikasi. Untuk contohnya, lihat hal berikut:

Berintegrasi dengan Cloud Trace

Anda dapat menulis histogram Prometheus dengan contoh yang kompatibel dengan Cloud Trace. Anda dapat menampilkan data, termasuk contoh, di diagram peta panas Cloud Monitoring, tempat Anda dapat menggunakan contoh untuk melihat detail tentang span rekaman aktivitas terkait. Anda juga dapat menganalisis data rekaman aktivitas di Trace. Untuk informasi selengkapnya, lihat Menampilkan contoh pada diagram heatmap dan Melihat detail rekaman aktivitas.

Untuk membuat contoh yang kompatibel dengan Trace, contoh Prometheus Anda harus berisi label berikut:

  • project_id
  • trace_id
  • span_id

Jika contoh Anda menyertakan ketiga label ini, label tersebut akan digunakan untuk membuat objek SpanContext yang kompatibel dengan Trace yang dilampirkan ke contoh yang dibuat untuk bucket Distribution Cloud Monitoring.

Semua label selain yang membentuk SpanContext lengkap ditambahkan ke objek DroppedLabels yang dilampirkan ke contoh untuk bucket Distribution.

Membuat kueri metrik dengan contoh

Prometheus API mengekspos endpoint api/v1/query_exemplars untuk mengkueri contoh.

Antarmuka kueri yang disiapkan untuk berinteraksi dengan Google Cloud Managed Service for Prometheus secara otomatis menyertakan kueri contoh. Untuk informasi tentang cara menyiapkan antarmuka kueri, lihat Kueri menggunakan Grafana atau Kueri menggunakan API atau UI Prometheus.