Saat peringatan Prometheus aktif, penanggap biasanya beralih ke Konsol ARMS untuk memeriksa tren metrik. Dengan menambahkan grafik tren metrik ke kartu peringatan DingTalk, penanggap langsung memperoleh konteks visual dalam notifikasi tanpa harus meninggalkan DingTalk.
Dua anotasi kustom pada aturan peringatan mengontrol metrik yang akan diplot dan nama yang ditampilkan pada grafik.
Grafik tren metrik hanya didukung pada kartu peringatan kelompok DingTalk. Saluran notifikasi lainnya (email, webhook) tidak mendukung fitur ini.
Cara kerja
Aturan peringatan Prometheus mengevaluasi ekspresi PromQL dengan kondisi ambang batas, seperti cpu_usage > 80. Untuk merender grafik tren, ARMS memerlukan ekspresi PromQL terpisah—yaitu kueri yang sama tanpa kondisi ambang batas—guna memplot nilai metrik mentah seiring waktu.
Anda menyediakan kueri ini beserta nama tampilannya melalui dua anotasi:
| Kunci anotasi | Tujuan | Contoh nilai |
|---|---|---|
_aliyun_display_promql | Ekspresi PromQL yang mengembalikan data metrik untuk diplot. Hapus semua kondisi ambang batas atau operator logika (AND, OR) dari ekspresi peringatan. | cpu_usage |
_aliyun_display_name | Nama tampilan untuk metrik yang ditampilkan pada grafik. | Container CPU utilization |
Grafik hanya dirender jika label pada hasil kueri _aliyun_display_promql sesuai dengan label pada hasil PromQL aturan peringatan. Untuk detail selengkapnya, lihat Mengapa grafik tidak muncul?
Kueri _aliyun_display_promql dapat mengembalikan hingga 512 KB data metrik.Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kelompok DingTalk yang dikonfigurasi sebagai saluran notifikasi. Lihat DingTalk chatbot.
Kebijakan notifikasi yang mengarahkan peringatan ke kelompok DingTalk. Lihat Kebijakan notifikasi.
Buat atau edit aturan peringatan dengan grafik tren
Masuk ke Konsol ARMS.
Pada panel navigasi kiri, pilih Managed Service for Prometheus > Prometheus Alert Rules.
Pada halaman Prometheus Alert Rules, klik Create Prometheus Alert Rule di pojok kanan atas.
Pada bagian Alert Notification, pilih Simple Mode, lalu pilih kebijakan notifikasi yang menggunakan kelompok DingTalk Anda sebagai kontak.
Bentangkan Advanced Settings, temukan bagian Annotations, lalu klik Create Annotation. Tambahkan dua anotasi berikut:
Atur kunci ke
_aliyun_display_promqldan nilai ke ekspresi PromQL Anda dengan kondisi ambang batas dihapus. Misalnya, jika aturan peringatan menggunakancpu_usage > 80, atur nilainya kecpu_usage.Klik Create Annotation lagi. Atur kunci ke
_aliyun_display_namedan nilai ke nama metrik deskriptif, sepertiContainer CPU utilization.
Konfigurasikan parameter aturan peringatan lainnya sesuai kebutuhan. Lihat Prometheus alert rules.
Klik Save, lalu klik Complete.
Verifikasi grafik
Setelah aturan peringatan dipicu, buka kelompok DingTalk dan periksa kartu peringatan. Grafik tren metrik akan muncul secara inline, menampilkan nilai metrik menjelang terjadinya peringatan.
Untuk mempelajari cara menangani peringatan dari DingTalk, lihat Handle alerts in a notification group.
FAQ
Mengapa saya memerlukan ekspresi PromQL terpisah untuk grafik?
Ekspresi PromQL aturan peringatan mencakup kondisi ambang batas dan operator logika (misalnya, cpu_usage > 80). Komponen-komponen tersebut menyaring set hasil alih-alih mengembalikan nilai metrik mentah yang diperlukan untuk grafik. Anotasi _aliyun_display_promql menggunakan kueri yang sama tanpa ambang batas, sehingga ARMS dapat mengambil data deret waktu yang mendasarinya dan memplotnya.
Mengapa grafik tidak muncul setelah saya mengatur anotasi?
Grafik hanya dirender jika label pada hasil kueri _aliyun_display_promql sesuai dengan label pada hasil PromQL aturan peringatan. Ekspresi PromQL dapat mengembalikan beberapa deret waktu, dan ARMS memilih yang sesuai berdasarkan labelnya.
Sebagai contoh, jika cpu_usage > 80 mengembalikan deret waktu dengan label pod_name dan container, kueri _aliyun_display_promql juga harus mengembalikan deret waktu yang mencakup kedua label tersebut. Jika label berbeda, ARMS tidak dapat mencocokkan hasilnya, sehingga grafik tidak dirender.
Untuk pemecahan masalah:
Jalankan kueri
_aliyun_display_promqldan ekspresi PromQL aturan peringatan secara terpisah di editor kueri Prometheus.Bandingkan set label dari deret waktu yang dikembalikan.
Sesuaikan ekspresi
_aliyun_display_promqlagar label hasilnya sesuai dengan label aturan peringatan.