Notifikasi Grafana ke Discord
1. Persiapan Webhook Discord
- Webhook adalah cara untuk mengirim pesan otomatis dari Grafana ke channel Discord.
- Discord akan menerima notifikasi ketika ada alert dari Grafana.
Untuk membuat Webhook di Discord, ikuti langkah berikut:
Buka Discord dan ikuti langkah ini:
1. Klik kanan pada channel yang dituju
2. Pilih "Edit Channel"
3. Pilih "Integrations"
4. Klik "Create Webhook"
5. Beri nama webhook (contoh: "Grafana Alerts")
6. Salin URL webhook yang diberikan
2. Konfigurasi Contact Point di Grafana
- Buka menu Alerting di sidebar Grafana
- Pilih Contact points
- Klik Add contact point dan isi:
Name: Discord Alerts
Integration: Discord
Webhook URL: [URL webhook Discord yang sudah disalin]
Message: {{ .CommonAnnotations.description }} - Klik Test untuk memastikan notifikasi berfungsi
- Save contact point untuk menyimpan konfigurasi
3. Membuat Alert Rule
Alert Rule menentukan kapan notifikasi akan dikirim ke Discord.
# Contoh Alert Rule untuk CPU Usage
- alert: High CPU Usage
expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80
for: 5m
labels:
severity: warning
annotations:
description: "CPU usage is {{ $value }}% on {{ $labels.instance }}"
4. Konfigurasi Notification Policy
- Di menu Alerting, pilih Notification policies
- Buat atau edit policy yang ada:
# Contoh konfigurasi policy
- name: Default policy
contact_point: Discord Alerts
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
5. Pengujian Sistem Notifikasi
-
Bisa membuat load tinggi di server:
# Generate load CPU tinggi untuk testing
stress-ng --cpu 8 --timeout 60s -
Atau bisa membuat load tinggi di server menggunakan K6S
6. Kustomisasi Pesan Discord
Anda bisa mengkustomisasi format pesan yang dikirim ke Discord:
Message: |
**Alert:** {{ .CommonLabels.alertname }}
**Severity:** {{ .CommonLabels.severity }}
**Details:** {{ .CommonAnnotations.description }}
**Grafana:** [View in Grafana]({{ .ExternalURL }})
Dengan konfigurasi ini, tim Anda akan menerima notifikasi di Discord setiap kali ada kejadian penting di server yang terdeteksi oleh Grafana.