---
title: "Integrasi Prometheus Alertmanager - Peringatan di Ponsel"
sidebarTitle: Prometheus
description: Arahkan peringatan Prometheus Alertmanager ke Echobell dan dapatkan notifikasi push atau panggilan telepon untuk insiden server dan infrastruktur.
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# Integrasi Prometheus

Prometheus bersama Alertmanager adalah tumpukan pemantauan dan peringatan open-source yang banyak dipakai. Dengan mengintegrasikan Alertmanager ke Echobell, Anda bisa menerima notifikasi instan di ponsel (termasuk peringatan peka waktu atau bergaya panggilan) setiap kali aturan peringatan Anda menyala.

## Prasyarat

- Akun Echobell dengan setidaknya satu saluran yang sudah dibuat
- Instalasi Prometheus + Alertmanager yang sedang berjalan
- Akses untuk mengubah konfigurasi Alertmanager Anda (alertmanager.yml)

## Ringkasan Penyiapan

1. Buat saluran Echobell
2. Konfigurasikan templat notifikasi (dan Templat Tautan opsional)
3. Pilih metode integrasi:
   - Webhook lewat webhook receiver Alertmanager (disarankan)
   - Email lewat email receiver Alertmanager (alternatif)
4. Buat atau perbarui aturan peringatan
5. Uji dan sempurnakan

## Panduan Langkah demi Langkah

<Steps>
<Step>
### Buat Saluran Echobell

1. Buka aplikasi Echobell
2. Buat saluran baru (misalnya, "Prometheus Alerts")
3. Pilih warna agar mudah dikenali
</Step>
<Step>

### Konfigurasikan Templat Notifikasi

Payload webhook Alertmanager berisi field terstruktur seperti status, commonLabels, commonAnnotations, externalURL, dan array alerts. Anda bisa merujuk field-field ini langsung di templat Echobell.

Templat yang disarankan:

Templat judul:

```
{{commonLabels.alertname}} - {{status}}
```

Templat isi:

```
🔔 Alert: {{commonLabels.alertname}}
📊 Severity: {{commonLabels.severity}}
🖥️ Instance: {{alerts[0].labels["instance"]}}
⏰ Starts: {{alerts[0].startsAt}}
ℹ️ Summary: {{commonAnnotations.summary}}
🧾 Description: {{commonAnnotations.description}}
```

Templat Tautan opsional (Pengaturan Lanjutan):

```
{{alerts[0].generatorURL || externalURL}}
```

Ini menampilkan tautan langsung ke grafik atau dasbor yang sedang menyala di dalam catatan peringatan Anda. Kalau generatorURL tidak ada, nilainya jatuh ke externalURL.

</Step>
<Step>
### Metode Integrasi A — Webhook (Disarankan)

1. Di saluran Echobell Anda, salin URL Webhook dari bagian Pemicu
2. Di Alertmanager, tambahkan webhook receiver yang mengirim POST ke URL itu

Contoh alertmanager.yml minimal:

```yaml
route:
  receiver: echobell-webhook

receivers:
  - name: echobell-webhook
    webhook_configs:
      - url: "https://hook.echobell.one/t/<channel-token>"
        send_resolved: true
        http_config:
          follow_redirects: true
```

Catatan:

- send_resolved: true juga akan memberi tahu saat peringatan pulih (status menjadi resolved)
- Echobell membaca body JSON apa adanya, jadi templat di atas akan dirender dengan benar
</Step>
<Step>

### Metode Integrasi B — Email (Alternatif)

Kalau Anda lebih suka atau memang harus memakai email, gunakan email receiver Alertmanager dan kirim ke alamat email yang terikat pada saluran tersebut.

1. Di Echobell, salin alamat email saluran dari bagian Pemicu
2. Konfigurasikan email receiver di Alertmanager dan pakai templat sederhana

Contoh potongan konfigurasi:

```yaml
receivers:
  - name: echobell-email
    email_configs:
      - to: "PASTE_CHANNEL_EMAIL_ADDRESS"
        send_resolved: true
        subject: "{{ .CommonLabels.alertname }} - {{ .Status }}"
        html: |
          <p><strong>Summary:</strong> {{ .CommonAnnotations.summary }}</p>
          <p>{{ .CommonAnnotations.description }}</p>
          <p>
            <a href='{{ (index .Alerts 0).GeneratorURL }}' target='_blank' rel='noopener'>Open in Prometheus</a>
          </p>
```

Di templat Echobell untuk pemicu email, Anda bisa memakai variabel seperti subject, text, dan html yang disediakan Echobell secara otomatis.

</Step>
<Step>
### Buat Contoh Aturan Peringatan

Berikut contoh aturan sederhana untuk menguji alurnya:

```yaml
groups:
  - name: example
    rules:
      - alert: HighCPU
        expr: avg(rate(process_cpu_seconds_total[5m])) > 0.8
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "High CPU usage"
          description: "CPU has been over 80% for 2 minutes"
```

Begitu peringatan ini menyala, Alertmanager akan mengirim peristiwanya ke receiver yang Anda konfigurasikan dan Echobell akan memberi tahu para pelanggan saluran tersebut.

</Step>
</Steps>

## Menguji Integrasi

1. Turunkan ambang batas untuk sementara atau buat peringatan uji coba yang cepat menyala
2. Pastikan Anda menerima notifikasi Echobell saat peringatan itu menyala
3. Kalau Anda memakai Templat Tautan, buka catatannya lalu ketuk tautannya
4. Pulihkan peringatan tersebut dan pastikan Anda menerima notifikasi pemulihannya (kalau diaktifkan)

## Memilih Jenis Notifikasi

- Peka Waktu: gangguan produksi yang kritis, insiden setingkat paging
- Panggilan: gangguan parah yang mengharuskan Anda terbangun atau menembus mode fokus
- Normal: peringatan rutin, peringatan ringan, atau pemberitahuan informatif

## Praktik Terbaik

1. Buat templat yang ringkas tetapi informatif (nama peringatan, tingkat keparahan, instance, ringkasan)
2. Gunakan Templat Tautan untuk langsung melompat ke grafik atau dasbor yang relevan
3. Kelompokkan dan arahkan peringatan di Alertmanager agar tidak berisik dan melelahkan
4. Sertakan label severity dan pakai jenis notifikasi Echobell yang sesuai tingkat urgensinya
5. Jaga URL webhook Echobell Anda seperti rahasia; ganti kalau sampai bocor

## Pemecahan Masalah

Kalau peringatan tidak muncul di Echobell:

- Pastikan URL webhook atau alamat email salurannya benar
- Pastikan saluran Echobell aktif dan punya pelanggan
- Periksa log Alertmanager untuk melihat kesalahan pengiriman
- Pastikan route di alertmanager.yml benar-benar mengarah ke receiver yang dimaksud
- Uji dengan satu aturan peringatan sederhana
- Kalau memakai email, pastikan pengaturan SMTP Anda berfungsi dan emailnya benar-benar terkirim

## Privasi dan Penanganan Data

Echobell mengutamakan privasi:

- Isi notifikasi tetap berada di perangkat Anda
- Hanya data konfigurasi minimal yang disimpan di server
- URL webhook dan alamat email saluran sebaiknya diperlakukan sebagai rahasia
- Echobell tidak menyimpan payload peringatan Anda di servernya

## Sumber Tambahan

- [Dokumentasi Prometheus](https://prometheus.io/docs/introduction/overview/)
- [Konfigurasi Alertmanager](https://prometheus.io/docs/alerting/latest/configuration/)
- [Aturan peringatan](https://prometheus.io/docs/alerting/latest/alerting_rules/)
- [Webhook Echobell](/docs/webhook)
- [Templat Notifikasi](/docs/notification)
- [Kondisi dan Templat Tautan](/docs/conditions)
- [Dukungan](/docs/support)
