Integrasi Grafana - Peringatan Infrastruktur

Kirim peringatan Grafana ke Echobell lewat webhook dan dapatkan notifikasi push atau panggilan telepon instan. Panduan penyiapan langkah demi langkah dengan templat peringatan.


Grafana adalah solusi analitik dan pemantauan open-source populer yang dipakai ribuan organisasi untuk memvisualisasikan metrik, log, dan trace. Dengan mengintegrasikan Grafana ke Echobell, Anda bisa menerima notifikasi instan saat metrik Anda memicu peringatan — entah itu penggunaan CPU tinggi, tekanan memori, layanan yang gagal, atau kondisi terpantau lainnya.

Panduan lengkap ini akan menuntun Anda menyiapkan peringatan Grafana dengan Echobell, mulai dari konfigurasi dasar hingga strategi pengelolaan peringatan tingkat lanjut.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Akun Echobell dengan setidaknya satu saluran yang sudah dibuat (Mulai di sini)
  • Akses ke sebuah instance Grafana (disarankan versi 8.0 atau lebih baru, versi 9.0+ untuk kompatibilitas terbaik)
  • Akses administratif untuk mengatur notifikasi peringatan di Grafana (biasanya butuh peran Admin atau Editor)
  • Pemahaman dasar tentang dasbor dan metrik Grafana
  • Keakraban dengan infrastruktur pemantauan dan kebutuhan peringatan Anda

Sekilas Penyiapan

Proses integrasinya terdiri dari lima langkah utama yang biasanya memakan waktu 10-15 menit:

  1. Buat Saluran Echobell - Siapkan saluran khusus untuk peringatan Grafana
  2. Konfigurasikan Templat Notifikasi - Rancang tampilan peringatan di perangkat Anda
  3. Ambil URL Webhook - Dapatkan endpoint webhook unik untuk saluran Anda
  4. Siapkan Contact Point Grafana - Atur Grafana agar mengirim peringatan ke Echobell
  5. Buat Alert Rule di Grafana - Tentukan kondisi apa yang memicu notifikasi

Setelah dikonfigurasi, peringatan mengalir otomatis dari Grafana ke perangkat Anda secara real-time.

Panduan Langkah demi Langkah

Buat Saluran Echobell

  1. Buka aplikasi Echobell
  2. Buat saluran baru (misalnya, "Grafana Alerts")
  3. Pilih warna yang mencolok agar mudah dikenali

Konfigurasikan Templat Notifikasi

Siapkan templat yang akan memformat peringatan Grafana Anda secara efektif:

Templat Judul:

{{alertName}} - {{status}}

Templat Isi:

🔔 Alert: {{alertName}}
📊 Metric: {{metric}}
📈 Value: {{value}}
⏰ Time: {{time}}
ℹ️ Message: {{message}}

Templat ini cocok dengan struktur payload peringatan Grafana.

Ambil URL Webhook

  1. Di pengaturan saluran Anda, cari bagian Pemicu (Triggers)
  2. Salin URL webhook yang tersedia
  3. Jaga kerahasiaan URL ini karena akan dipakai di konfigurasi Grafana

Konfigurasikan Contact Point Grafana

  1. Di Grafana, buka AlertingContact points
  2. Klik New contact point
  3. Atur seperti berikut:
    • Name: "Echobell"
    • Type: "Webhook"
    • URL: URL webhook Echobell Anda
    • HTTP Method: POST
    • Content type: application/json
  4. Konfigurasikan templat pesannya:
{
  "alertName": "{{ .alertName }}",
  "status": "{{ .status }}",
  "metric": "{{ .metric }}",
  "value": "{{ .value }}",
  "time": "{{ .time }}",
  "message": "{{ .message }}",
  "externalLink": "{{ .dashboardURL }}"
}

Buat Alert Rule

  1. Buka AlertingAlert rules
  2. Buat alert rule baru atau edit yang sudah ada
  3. Di konfigurasi rule-nya:
    • Tetapkan kondisi yang sesuai untuk metrik Anda
    • Pilih contact point "Echobell"
    • Atur kriteria evaluasi peringatannya

Menguji Integrasinya

Untuk memverifikasi penyiapan Anda:

  1. Buat alert rule percobaan dengan kondisi yang akan cepat terpicu
  2. Tunggu sampai kondisinya terpenuhi
  3. Periksa aplikasi Echobell Anda untuk melihat notifikasi peringatannya
  4. Pastikan semua variabel peringatan tampil dengan benar
  5. Ketuk notifikasinya untuk membuka dasbor Grafana yang tertaut

Jenis Notifikasi Peringatan

Saat berlangganan saluran peringatan Grafana, atur jenis notifikasi penting ini:

  • Pakai Peka Waktu untuk peringatan sistem mendesak yang kritis dan notifikasi darurat
  • Pakai Panggilan untuk gangguan parah, pelanggaran ambang batas yang kritis, atau peringatan darurat
  • Pakai Normal untuk peringatan informasional standar dan notifikasi rutin

Praktik Terbaik Pengelolaan Peringatan

Penataan Templat Peringatan

Jaga agar templat peringatan tetap jelas dan konsisten di semua saluran:

Title: {{alertName}} - {{status}}
Body: 
Server: {{instance}}
Metric: {{metric}}  
Current: {{value}}
Threshold: {{threshold}}
  • Gunakan format terstruktur - Tata informasinya dengan label yang jelas
  • Sertakan informasi penting - Nama metrik, nilai, ambang batas, sistem yang terdampak
  • Pakai emoji secukupnya - 🚨 untuk kritis, ⚠️ untuk peringatan, ✅ untuk yang sudah pulih
  • Jaga judul tetap ringkas - Targetkan 5-8 kata yang langsung menjelaskan masalahnya
  • Uji templat Anda - Kirim peringatan percobaan untuk memverifikasi formatnya sebelum diterapkan

Konfigurasi Peringatan Kritis

Tetapkan ambang batas peringatan yang tepat agar tidak kelelahan notifikasi:

  • Hindari peringatan berlebihan - Setel ambang batas pada level yang perlu ditindaklanjuti, bukan sekadar level yang menarik
  • Gunakan histeresis - Atur ambang batas yang berbeda untuk memicu peringatan dan untuk pemulihan
  • Kelompokkan peringatan yang berkaitan - Gabungkan kondisi terkait menjadi satu alert rule
  • Setel interval evaluasi yang pas - Seimbangkan kecepatan respons dengan pengurangan kebisingan
  • Pertimbangkan rentang waktu - Lakukan beberapa kali pemeriksaan kondisi sebelum memicu peringatan

Contoh strategi ambang batas:

# Buruk: Peringatan pada CPU 50% (terlalu sensitif)
cpu_usage > 50

# Lebih baik: Peringatan pada 80% selama 5 menit
avg_over_time(cpu_usage[5m]) > 80

# Terbaik: Peringatan bertingkat
# Warning pada 70% yang bertahan, Critical pada 90%

Gunakan Nama Peringatan yang Bermakna

Beri peringatan nama deskriptif yang langsung menjelaskan:

  • Apa yang dipantau (CPU, Memori, Disk)
  • Di mana kejadiannya (produksi, staging, instance tertentu)
  • Mengapa itu penting (layanan yang dipakai pengguna, basis data kritis)

Contoh yang baik:

  • "Production Database - High Connection Pool Usage"
  • "API Gateway - Response Time Degradation"
  • "Worker Node 3 - Disk Space Critical"

Hindari:

  • "Alert 1", "Test Alert", "High CPU"

Sertakan Konteks yang Memadai

Pesan peringatan Anda sebaiknya menjawab:

  • Apa yang terjadi? Kondisi spesifik yang memicunya
  • Di mana? Sistem, layanan, atau instance mana
  • Seberapa parah? Nilai saat ini dibandingkan ambang batas
  • Kapan? Cap waktu peringatannya
  • Lalu apa? Tautan ke dasbor atau runbook yang relevan

Atur Tingkat Prioritas

Gunakan jenis notifikasi Echobell secara strategis:

  • Normal: Peringatan informasi, notifikasi pemulihan, peringatan yang tidak mendesak
  • Peka Waktu: Peringatan penting yang perlu ditangani dalam hitungan jam
  • Panggilan: Masalah produksi kritis yang butuh respons segera

Petakan tingkat keparahan Grafana ke jenis notifikasi:

Critical + Production → Calling
High + Production → Time Sensitive  
Medium → Time Sensitive
Low → Normal
Info/Resolved → Normal

Keamanan Peringatan

Lindungi infrastruktur pemantauan Anda:

  • Rahasiakan URL webhook - URL itu memberi akses tanpa autentikasi untuk mengirim notifikasi
  • Gunakan variabel lingkungan - Jangan menuliskan URL secara langsung di berkas provisioning Grafana
  • Rotasi webhook secara berkala - Terutama saat ada anggota tim yang keluar
  • Pantau pengiriman webhook - Lacak pengiriman yang gagal dan selidiki keanehannya
  • Audit konfigurasi peringatan - Tinjau secara rutin siapa saja yang bisa mengubah peringatan
  • Validasi sumber peringatan - Manfaatkan autentikasi bawaan Grafana untuk contact point

Pengelolaan Siklus Hidup Peringatan

Jaga kebersihan konfigurasi peringatan Anda:

  1. Tinjauan rutin - Audit peringatan setiap kuartal untuk membuang rule yang usang
  2. Dokumentasikan peringatan - Tambahkan deskripsi yang menjelaskan alasan tiap peringatan dibuat
  3. Lacak riwayat peringatan - Pantau peringatan mana yang paling sering muncul
  4. Setel ulang ambang batas - Sesuaikan berdasarkan data historis dan tingkat positif palsu
  5. Arsipkan peringatan lama - Nonaktifkan tetapi simpan rule untuk layanan yang dipensiunkan
  6. Kontrol versi - Gunakan provisioning Grafana untuk melacak perubahan peringatan

Pertimbangan Performa

  • Hindari badai peringatan - Atur pengelompokan dan pengaturan waktu dengan benar
  • Gunakan notification policy - Arahkan tingkat keparahan yang berbeda ke saluran yang sesuai
  • Setel interval wait/repeat - Cegah notifikasi ganda
  • Kelompokkan peringatan serupa - Kurangi volume notifikasi lewat agregasi
  • Pertimbangkan waktu dalam sehari - Gunakan kondisi untuk menyaring berdasarkan jam kerja

Contoh Nyata

Peringatan CPU Tinggi

Title: {{instance}} CPU Critical
Body: CPU usage: {{cpu_percent}}%
Duration: {{duration}}
Time: {{time}}
Dashboard: {{dashboard_url}}

Tekanan Memori

Title: Memory Warning - {{hostname}}
Body: Available: {{available_mb}}MB ({{percent_free}}%)
Threshold: {{threshold_mb}}MB
Action: Check memory-intensive processes

Layanan Mati

Title: 🚨 {{service_name}} Unreachable
Body: Health check failed
Last success: {{last_successful_check}}
Impact: {{affected_users}} users affected
Runbook: {{runbook_url}}

Kasus Penggunaan Umum

Pemantauan Infrastruktur

  • Ambang batas penggunaan CPU, memori, dan disk
  • Throughput jaringan dan packet loss
  • Ketersediaan layanan dan health check
  • Pemantauan status container dan pod

Performa Aplikasi

  • Penurunan waktu respons
  • Peningkatan tingkat error
  • Kehabisan connection pool basis data
  • Kedalaman antrean dan keterlambatan pemrosesan

Metrik Bisnis

  • Anomali volume transaksi
  • Penurunan pendapatan per menit
  • Perubahan jumlah pengguna aktif
  • Mendekati batas rate limit API

Pemantauan Keamanan

  • Percobaan autentikasi yang gagal
  • Pola akses yang tidak biasa
  • Peringatan kedaluwarsa sertifikat
  • Pelanggaran aturan firewall

Pelajari lebih banyak strategi integrasi di artikel blog kami tentang notifikasi panggilan Grafana.

Pemecahan Masalah

Jika Anda tidak menerima peringatan, telusuri langkah diagnosis berikut:

Webhook Tidak Memicu Notifikasi

  1. Pastikan URL webhook tersalin dengan benar

    • Buka saluran Echobell Anda → Pemicu (Triggers) → Webhook
    • Salin URL lengkapnya termasuk https://hook.echobell.one/t/
    • Pastikan tidak ada spasi atau karakter tambahan saat menempelkannya ke Grafana
  2. Periksa apakah salurannya aktif

    • Buka aplikasi Echobell
    • Buka saluran peringatan Grafana Anda
    • Pastikan saluran itu tidak terhapus atau terarsipkan tanpa sengaja
  3. Pastikan ada pelanggan yang aktif

    • Setidaknya satu orang harus berlangganan agar notifikasi bisa diterima
    • Periksa daftar langganan saluran tersebut
    • Pastikan langganan pribadi Anda aktif
  4. Periksa konfigurasi contact point Grafana

    • Buka Alerting → Contact points di Grafana
    • Buka contact point Echobell Anda
    • Pastikan URL-nya sama dengan webhook saluran Anda
    • Periksa bahwa HTTP Method disetel ke POST
    • Pastikan Content-Type-nya application/json
  5. Periksa konfigurasi alert rule Grafana

    • Buka Alerting → Alert rules
    • Buka rule tertentu yang seharusnya terpicu
    • Pastikan rule itu tertaut ke contact point Echobell Anda
    • Periksa bahwa notification policy mengarahkannya ke contact point yang benar
  6. Tinjau riwayat peringatan Grafana

    • Buka Alerting → Alert rules
    • Klik rule Anda → Show history
    • Pastikan peringatannya benar-benar firing (bukan dalam status pending)
    • Periksa apakah ada kesalahan evaluasi

Peringatan Terpicu tetapi Tidak Terkirim

  1. Uji webhook-nya secara langsung

    curl -X POST https://hook.echobell.one/t/<channel-token> \
      -H "Content-Type: application/json" \
      -d '{"alertName": "Test", "status": "firing"}'

    Jika Anda menerima notifikasi dari perintah ini tetapi tidak dari Grafana, berarti masalahnya ada di konfigurasi Grafana.

  2. Periksa notification policy Grafana

    • Buka Alerting → Notification policies
    • Pastikan label rule Anda cocok dengan aturan perutean policy tersebut
    • Periksa kemungkinan masalah waktu (waktu tunggu pengelompokan, interval pengulangan)
  3. Tinjau log Grafana

    • Cari kesalahan pengiriman webhook di log Grafana
    • Periksa kode status HTTP-nya (seharusnya 200)
    • Selidiki kesalahan timeout atau koneksi apa pun

Notifikasi Tampil Tidak Semestinya

  1. Variabel templat tidak cocok dengan payload Grafana

    • Grafana mengirim nama kolom tertentu seperti .alertName, .status, dan sebagainya
    • Pastikan variabel templat Anda cocok dengan struktur payload-nya
    • Uji dengan tombol "Test" di Grafana untuk melihat payload sebenarnya
  2. Informasi kurang lengkap di notifikasi

    • Sebagian variabel Grafana bisa kosong tergantung konfigurasi peringatannya
    • Tambahkan nilai cadangan di templat: {{alertName || "Unknown Alert"}}
    • Periksa dokumentasi Grafana untuk variabel templat yang tersedia
  3. Kesalahan parsing JSON

    • Pastikan templat pesan Grafana berupa JSON yang valid
    • Periksa tanda kutip atau karakter khusus yang belum di-escape
    • Gunakan validator JSON daring untuk memverifikasi struktur payload-nya

Masalah Waktu Peringatan

  1. Peringatan datang terlambat

    • Periksa konektivitas jaringan Anda
    • Pastikan Grafana bisa menjangkau server Echobell
    • Tinjau interval evaluasi Grafana (bisa menimbulkan penundaan)
    • Periksa pengaturan waktu pada notification policy
  2. Notifikasi ganda

    • Tinjau pengaturan interval pengulangan di notification policy
    • Periksa apakah ada beberapa rule yang terpicu untuk kondisi yang sama
    • Pastikan hanya ada satu contact point yang dikonfigurasi untuk saluran itu
  3. Notifikasi saat jam senyap

    • Mode Fokus iOS bisa memengaruhi pengiriman notifikasi
    • Notifikasi Peka Waktu dan Panggilan bisa menembus sebagian mode Fokus
    • Tinjau pengaturan notifikasi di perangkat Anda

Masih Bermasalah?

Jika semua langkah di atas sudah dicoba dan masalahnya masih ada:

  1. Aktifkan logging debug Grafana

    • Tambahkan bagian [log] di grafana.ini dengan level = debug
    • Periksa log untuk melihat percobaan pengiriman webhook dan responsnya
  2. Gunakan fitur test bawaan Grafana

    • Di pengaturan contact point, pakai "Test" untuk mengirim peringatan contoh
    • Ini membantu memastikan apakah masalahnya ada pada rule atau pada pengiriman
  3. Coba alert rule yang berbeda

    • Buat rule percobaan sederhana dengan kondisi yang pasti terpicu
    • Jika percobaan berhasil tetapi rule produksi tidak, berarti masalahnya ada di konfigurasi rule
  4. Hubungi dukungan

    • Kunjungi Pusat Dukungan kami
    • Kirim email ke echobell@weelone.com dengan menyertakan:
      • Versi Grafana
      • Contoh payload peringatan (hapus data sensitifnya)
      • URL webhook (dengan token disamarkan)
      • Langkah-langkah yang sudah Anda coba
      • Perilaku yang diharapkan dan yang sebenarnya terjadi

Dokumentasi dan Sumber Daya Terkait

Dokumentasi Echobell

Sumber Daya Grafana

Integrasi Terkait

Artikel Blog

Langkah Berikutnya

Kini Grafana Anda sudah terintegrasi dengan Echobell:

  1. Setel halus peringatan Anda - Sesuaikan ambang batas berdasarkan pola pemakaian nyata
  2. Siapkan saluran tambahan - Buat saluran terpisah untuk tingkat keparahan yang berbeda
  3. Jelajahi integrasi lain - Hubungkan lebih banyak perkakas ke Echobell (lihat semua integrasi)
  4. Bagikan ke tim Anda - Tambahkan anggota tim ke saluran peringatan Anda
  5. Dokumentasikan penyiapan Anda - Buat runbook untuk menanggapi peringatan tertentu
  6. Pantau efektivitas peringatan - Lacak tingkat positif palsu dan waktu respons

Siap memantau lebih banyak sistem? Lihat panduan integrasi lengkap kami untuk perkakas dan platform pemantauan populer lainnya.