Membuat Alert Grafana Ke Channel Slack

Membuat Alert Grafana Ke Channel Slack

Slack adalah aplikasi untuk mengirim pesan kepada team. Channel Slack merupakan salah satu pilihan channel notifikasi yang tersedia di Grafana. Kita dapat mengirimkan sebuah alert ke channel Slack ketika ada metrics yang memenuhi alert rule yang kita buat. Membuat alert ke channel Slack akan sangat berguna, karena kita dapat mengetahui sebuah incident sesegera mungkin.

Grafana mengirim pesan ke Slack menggunakan sebuah incoming webhook URL. Untuk membuat Grafana mengirim alert ke Slack, kita harus membuat incoming webhook URL di Slack, kemudian membuat sebuah channel untuk menerima notifikasi, lalu membuat alerting rule di Grafana.

Cara Membuat Slack Incoming Webhook URL

Pertama, kita perlu membuat sebuah Slack Incoming Webhook URL.

Create Slack App

  • Klik Incoming Webhooks

Click Incoming Webhooks

  • Ubah radio button ke On, lalu klik Add New Webhook to Workspace

Add Webhooks to Workspace

  • Pilih channel untuk mengirim alert, lalu klik Allow

Select Slack channel

  • Kamu akan mendapatkan sebuah Webhook URL. Copy URL tersebut.

Copy Webhook URL

Cara Membuat Notification Channel di Grafana

Setelah kamu membuat Webhook URL, kamu perlu membuat sebuah notification channel di Grafana

  • Masuk ke Grafana dashboard
  • Klik icon Alerting, lalu klik Notification channels

Create Notification Channel

  • Klik Add Channel untuk membuat channel baru
  • Masukkan nama channel
  • Ganti Type ke Slack dan masukkan Webhook URL yang sudah kamu buat

Add Channel

  • Klik Send Test untuk mencoba notification channel nya. Kamu akan mendapatkan pesan seperti ini di Slack:

Test Channel

  • Kalau sudah ok, klik Save

Cara Membuat Alert Rule di Grafana

Setelah kita membuat notification channel di Grafana, kita dapat membuat alert rule untuk mengirimkan notifikasi ketika ada metrics yang tidak normal. Pada Grafana, alert merupakan bagian dari sebuah panel dashboard. Jadi untuk membuat alert rule, kita perlu membuat panel dashboard. Atau bisa gunakan panel yang sudah ada.
Pada contoh ini, saya akan menggunakan graph Request per Second yang pernah dibuat pada post sebelumnya.

Grafana graph

Ada sebuah metris A yang menghitung rate dari http_request_get_books_count. Kita akan membuat sebuah alert apabila metrics ini nilai nya ada di bawah suatu threshold. Untuk membuat alert, klik icon Alert, lalu klik Create Alert.

Create alert

Kita akan membuat alert dengan kondisi nilai rata-rata dari metrics A selama 5 menit terakhir ada di bawah 7. Rule untuk kondisi tersebut akan seperti ini:

Alert rule

Dari gambar di atas kita dapat melihat pada rule tersebut ada Evaluate every "1m" For "1m". Ini berarti Grafana akan mengevaluasi rule ini setiap 1 menit. Apabila metrics memenuhi rule ini, Grafana akan menunggu selama 1 menit. Jika dalam 1 menit metrics belum recover, Grafana akan mengirim alert.

Pada section notification di bagian bawah, kita dapat memilih notification channel dan menulis pesan alert nya.

Alert notification

Save dashboard. Apabila alert tersebut ter-trigger, kamu akan melihat message seperti ini di channel Slack my.

Alert notification

Kesimpulan

Membuat alert ke aplikasi messaging seperti Slack sangat menguntungkan. Team mu dapat mengetahui apabila terjadi incident dengan sangat cepat. Kamu dapat me mention group Slack team mu, atau menggunakan @here or @channel untuk memastikan team mu mendapatkan notifikasi alert nya.


See also

comments powered by Disqus