Evaluasi kelompok merupakan parameter dalam aturan peringatan. Saat sistem peringatan menghitung hasil kueri dan analisis, Anda dapat mengelompokkan hasil berdasarkan bidang tertentu. Sistem tersebut kemudian mengevaluasi setiap kelompok terhadap kondisi pemicu secara independen sehingga menghasilkan peringatan terpisah. Dengan demikian, Anda dapat menggunakan satu aturan peringatan untuk memantau beberapa target sekaligus mengelola peringatan dan event secara independen untuk setiap kelompok.
-
Setelah Anda mengonfigurasi evaluasi kelompok, satu evaluasi dapat menghasilkan hingga 100 kelompok peringatan. Jika lebih dari 100 kelompok dihasilkan, sistem akan memilih secara acak 100 di antaranya dan mengirimkannya ke kebijakan peringatan.
-
Saat memilih bidang untuk evaluasi kelompok, pilihlah bidang yang secara unik mengidentifikasi entitas yang dipantau dan memiliki jumlah nilai yang terbatas. Hindari memilih bidang yang tidak mampu membedakan antar entitas karena penggunaan bidang semacam itu dapat menghasilkan banyak kelompok, masing-masing memicu peringatan terpisah. Hal ini berpotensi menyebabkan badai peringatan sehingga Anda berisiko melewatkan pemberitahuan peringatan kritis.
Sebagai contoh, untuk log Nginx, gunakan bidang seperti host dan method. Untuk log akses OSS, gunakan bidang bucket. Jangan gunakan bidang seperti request_time atau body_size dari log Nginx, atau bidang err_cnt dari log error.
Contoh 1: Pemantauan berkelompok untuk data deret waktu
Misalnya, Anda menyimpan data metrik dari beberapa server dalam satu database deret waktu dan ingin Log Service mengirim peringatan terpisah untuk setiap server ketika utilisasi CPU-nya (cpu_util) melebihi 95%. Untuk mencapai hal ini, Anda dapat mengonfigurasi evaluasi kelompok saat membuat aturan peringatan.
Konfigurasinya adalah sebagai berikut:
-
Query and statistics:
* | select promql_query_range('cpu_util') from metrics limit 1000Kueri ini menghitung utilisasi CPU.
-
Group evaluation: Auto label
Log Service secara otomatis mengelompokkan hasil kueri dan analisis untuk data deret waktu.
-
Trigger Condition: Data Matching, value > 95, Severity: High
Sistem memicu peringatan berkeparahan tinggi ketika value dalam hasil kueri dan analisis melebihi 95.
-
Add Annotation: Konfigurasikan anotasi seperti judul dan deskripsi peringatan. Anda dapat mereferensikan variabel bidang, seperti ${host}, dalam anotasi tersebut. Untuk informasi selengkapnya, lihat Add labels and annotations.
Atur title menjadi CPU utilization for host ${host} has spiked dan desc menjadi CPU utilization for host ${host} has reached ${value}.
Contoh 2: Pemantauan berkelompok untuk log
Misalnya, saat memantau log akses OSS, Anda ingin menerima peringatan terpisah untuk setiap bucket yang mengalami lebih dari 1.000 error HTTP 500 per menit. Untuk mencapai hal ini, Anda dapat mengonfigurasi evaluasi kelompok saat membuat aturan peringatan.
Konfigurasinya adalah sebagai berikut:
-
Query and statistics:
http_status=500 | select bucket,count(1) as pv group by bucket having pv >1000 order by pv descKueri ini menemukan bucket dengan lebih dari 1.000 error HTTP 500.
-
Group evaluation: Custom label, bucket
Sistem mengelompokkan hasil kueri dan analisis berdasarkan bucket.
-
Trigger Condition:
-
Condition 1: Data Matching, pv > 3000, Severity: High
Sistem memicu peringatan dengan tingkat keparahan tinggi ketika nilai pv dalam hasil kueri dan analisis melebihi 3.000.
-
Condition 2: Data Exists, Severity: Medium
Sistem memicu peringatan dengan tingkat keparahan menengah jika kueri dan analisis mengembalikan hasil apa pun.
-
-
Add Annotation: Konfigurasikan anotasi seperti judul dan deskripsi peringatan. Anda dapat mereferensikan variabel bidang, seperti ${pv}, dalam anotasi tersebut. Untuk informasi selengkapnya, lihat Add labels and annotations.
Atur title menjadi ${bucket} bucket is experiencing 500 errors dan desc menjadi Error count: ${pv}.