Grafana menyediakan antarmuka pengguna grafis (GUI) yang memungkinkan Anda menggunakan fitur alerting. Anda dapat menambahkan contact point di Grafana agar peringatan dikirim ke sistem alerting Log Service, yang kemudian memproses peringatan tersebut—misalnya dengan melakukan denoising dan mengirim notifikasi. Jika versi Grafana Anda 8.0 atau lebih baru, ikuti petunjuk dalam topik ini.
Prasyarat
Aplikasi penerimaan peringatan telah dibuat. Untuk informasi selengkapnya, lihat Konfigurasikan URL webhook untuk penerimaan peringatan.Konfigurasikan Grafana
- Masuk ke konsol Grafana.
- Buat contact point.
- Di panel navigasi sebelah kiri, pilih , lalu klik New contact point.
- Pada halaman Create contact point, konfigurasikan parameter berikut.
Parameter Deskripsi Name Nama contact point. Contact point type Jenis contact point. Pilih webhook. Url URL contact point. Dalam contoh ini, masukkan URL lengkap dari webhook URL yang dihasilkan setelah Anda membuat layanan penerimaan peringatan dan aplikasi penerimaan peringatan di sistem penerimaan peringatan Log Service. Untuk informasi selengkapnya, lihat Dapatkan URL webhook. - Klik Save contact point.
- Tambahkan contact point ke kebijakan notifikasi.
Anda dapat menambahkan contact point ke kebijakan notifikasi root atau membuat route dan menambahkannya ke route tersebut. Dalam contoh ini, contact point ditambahkan ke kebijakan notifikasi root.
- Klik Notification policies.
- Di bagian Root policy - default for all alerts, klik Edit.
- Dari daftar Default contact point, pilih contact point yang telah Anda buat pada langkah 2.
- Klik Save.
Peringatan Grafana
Kode contoh berikut memberikan contoh peringatan Grafana:
{
"receiver": "http",
"status": "firing",
"alerts":
[
{
"status": "firing",
"labels":
{
"alertname": "test"
},
"annotations":
{
"description": "test alert",
},
"startsAt": "2022-02-17T21:44:07.106902+08:00",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "http://localhost:3000/alerting/abcd/edit",
"fingerprint": "65d7bbdb01ce6c93",
"silenceURL": "http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dtest",
"dashboardURL": "",
"panelURL": "",
"valueString": "[ metric='go_threads{instance=\"prometheus\", job=\"prometheus\"}' labels={__name__=go_threads, instance=prometheus, job=prometheus} value=15 ]"
}
],
"groupLabels":
{},
"commonLabels":
{
"alertname": "test"
},
"commonAnnotations":
{
"description": "test alert",
},
"externalURL": "http://localhost:3000/",
"version": "1",
"groupKey": "{}/{alertname=\"test\"}:{}",
"truncatedAlerts": 0,
"orgId": 1,
"title": "[FIRING:1] (test)",
"state": "alerting",
"message": "**Firing**\n\nValue: [ metric='go_threads{instance=\"prometheus\", job=\"prometheus\"}' labels={__name__=go_threads, instance=prometheus, job=prometheus} value=15 ]\nLabels:\n - alertname = test\nAnnotations:\n - description = test alert\nSource: http://localhost:3000/alerting/abcd/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dtest\n"
}Pemetaan bidang
Setelah peringatan Grafana dimasukkan ke dalam Log Service, peringatan tersebut dikonversi menjadi peringatan Log Service berdasarkan pemetaan bidang. Kode contoh berikut memberikan contoh peringatan Log Service:
{
"aliuid": "{ID akun Alibaba Cloud tempat aplikasi penerimaan peringatan berada}",
"alert_instance_id": "{ID instans peringatan yang dihasilkan secara otomatis}",
"alert_id": "test",
"alert_type": "sls_pub",
"alert_name": "test",
"region": "{Wilayah proyek tempat Alert Center berada}",
"project": "{Proyek tempat Alert Center berada}",
"project_id": 0,
"next_eval_interval": 0,
"alert_time": 1645607565,
"fire_time": 1645105447,
"fire_results": null,
"fire_results_count": 0,
"resolve_time": 0,
"status": "firing",
"results": null,
"labels":
{},
"annotations":
{
"__config_app__": "sls_pub_alert",
"__pub_alert_app__": "{ID aplikasi penerimaan peringatan}",
"__pub_alert_protocol__": "grafana8",
"__pub_alert_region__": "{Wilayah titik akhir tempat peringatan dikirim}",
"__pub_alert_service__": "{ID layanan penerimaan peringatan}",
"desc": "test alert",
"fingerprint": "65d7bbdb01ce6c93",
"silenceURL": "http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dtest",
"valueString": "[ metric='go_threads{instance=\"prometheus\", job=\"prometheus\"}' labels={__name__=go_threads, instance=prometheus, job=prometheus} value=15 ]"
},
"severity": 6,
"policy":
{
"alert_policy_id": "{Kebijakan peringatan yang ditentukan untuk aplikasi penerimaan peringatan}",
"action_policy_id": "{Kebijakan aksi yang ditentukan untuk aplikasi penerimaan peringatan}",
"use_default": false,
"repeat_interval": "{Interval pengulangan yang ditentukan untuk aplikasi penerimaan peringatan}"
},
"template": null,
"drill_down_query": "http://localhost:3000/alerting/abcd/edit",
}
| Log Service | Grafana | Deskripsi |
| aliuid | N/A | ID akun Alibaba Cloud yang terkait dengan aplikasi penerimaan peringatan. |
| alert_id | alertname | ID aturan peringatan. Jika bidang labels pada pesan peringatan Grafana berisi bidang alertname, nilai alert_id adalah nilai bidang alertname. Jika tidak, nilainya kosong. |
| alert_type | N/A | Jenis peringatan. Nilainya tetap sls_pub. |
| alert_name | alertname | Nama aturan peringatan. Jika bidang labels pada pesan peringatan Grafana berisi bidang alertname, alert_name diatur ke nilai bidang alertname, dan bidang aslinya dihapus. Jika tidak, nilainya kosong. |
| status | status | Status peringatan. |
| next_eval_interval | N/A | Interval evaluasi peringatan. Nilainya tetap 0. |
| alert_time | N/A | Timestamp saat Log Service menerima peringatan Grafana. |
| fire_time | startsAt | Waktu saat peringatan dipicu. |
| resolve_time | endsAt | Waktu saat peringatan diselesaikan. Jika status dalam pesan peringatan Grafana adalah firing, nilai resolve_time adalah 0. Jika tidak, nilainya adalah timestamp yang sesuai dengan endsAt. |
| labels | labels | Label peringatan. Jika Anda menambahkan informasi tag di Information Processing saat membuat aplikasi penerimaan peringatan, informasi tag tersebut akan ditambahkan ke bidang labels. |
| annotations | annotations | annotationsAnnotasi peringatan. Anotasi asli Grafana dipertahankan, dan bidang-bidang berikut ditambahkan:
Jika Anda menambahkan anotasi di Information Processing saat membuat aplikasi penerimaan peringatan, anotasi tersebut akan ditambahkan ke bidang annotations. |
| severity | severity | Tingkat keparahan peringatan. Catatan annotationslabelsseverityLog Service memetakan nilai bidang `severity` dari `annotations` atau `labels` Grafana ke tingkat keparahan peringatan Log Service. Jika bidang `severity` tidak ditemukan di kedua lokasi tersebut, tingkat keparahan peringatan akan diatur ke Medium secara default. Untuk informasi selengkapnya, lihat Tingkat keparahan peringatan. |
| policy | N/A | Kebijakan peringatan yang dikonfigurasi dalam aplikasi penerimaan peringatan. Untuk informasi selengkapnya, lihat Struktur kebijakan. |
| project | N/A | Proyek Log Service yang berisi Alert Center. Untuk informasi selengkapnya, lihat Proyek. |
| drill_down_query |
|
URL untuk menyelidiki lebih dalam peringatan di Grafana.
Dengan mengklik URL tersebut, Anda akan diarahkan ke halaman manajemen peringatan Grafana dan secara otomatis menampilkan pesan peringatan yang sesuai dengan konten bidang groupLabels. |