Prometheus Alertmanager

Routuj alerty Prometheusa na połączenia, Telegram i łańcuchy dyżurów

Dodaj webhook receiver do alertmanager.yml. Zgrupowane alerty stają się jednym incydentem WardenPoint z jednym UUID. Łańcuch eskalacji uruchamia się raz na grupę, nie na alert.

Config
YAML
Format
Webhook v4
Grupowanie
Po UUID

Anatomia push Alertmanagera

LIVE
Alertmanager → webhook
grupowy firing, severity=critical
WardenPoint
jeden incydent · jeden łańcuch · wielokanał
Telegram
Voice call
Email

Konfiguracja

Dodaj webhook receiver w alertmanager.yml

Trzy linie w istniejącej konfiguracji Alertmanagera podłączają WardenPoint jako receiver. Przeładuj Alertmanagera i jesteś live.

  1. 1Krok 1

    Dodaj receiver

    Dopisz webhook_configs do alertmanager.yml z URL ze strony Integrations WardenPoint.

    $ receivers: [ name: wardenpoint, … ]
  2. 2Krok 2

    Routuj do niego

    Ustaw top-level route na receiver: wardenpoint, lub użyj sub-route matchera (severity, team, env), żeby zawęzić zakres.

    $ route: { receiver: wardenpoint }
  3. 3Krok 3

    Przeładuj Alertmanagera

    SIGHUP albo /-/reload. Alertmanager podejmuje nowy receiver bez restartu.

    $ curl -X POST localhost:9093/-/reload

Format na drucie

Receiver Alertmanagera w YAML

Wklej te linie do alertmanager.yml. Grupowanie po stronie Alertmanagera; WardenPoint dostaje jeden webhook ze zgrupowanym kontekstem i uruchamia jeden łańcuch.

alertmanager.yml
alertmanager.ymlYAML
# alertmanager.yml — receiver
receivers:
- name: wardenpoint
webhook_configs:
- url: https://api.wardenpoint.com/hooks/wp_live_…
send_resolved: true
max_alerts: 0
 
route:
group_by: ['alertname', 'cluster']
group_wait: 30s
group_interval: 5m
receiver: wardenpoint
Rozsyłka WardenPoint
WardenPoint response202
{
"status": "queued",
"notification_uuid": "notif_8h2k7yQrxJp",
"channels_planned": [
"telegram_voice",
"voice_call",
"email"
],
"escalation_chain_id": "esc_4j2k9bMcvL"
}

Wzorce routingu

Trzy patterny Alertmanagera najczęściej spotykane

Routuj po etykietach na warstwie Alertmanagera, niech WardenPoint zajmie się rozsyłką wielokanałową.

Severity

Critical → telefon + Telegram

Dopasowuj severity=critical w route Alertmanagera i przekazuj tylko te alerty do WardenPoint. Niższe severity zostają w czatach.

match
severity = critical
→ route
receiver: wardenpoint
Cluster

Trasowanie per klaster

Etykieta cluster pozwala wysyłać alerty z różnych klastrów do różnych grup odbiorców z osobnymi rotacjami dyżurów.

match
cluster =~ prod-.*
→ route
group: prod_sre
Inhibition

Tłumienie głośnych duplikatów

Użyj inhibit_rules w Alertmanagerze, żeby zdusić alerty pochodne zanim trafią do WardenPoint.

match
alertname = NodeDown
→ route
inhibit: { ServiceDown }

FAQ Alertmanager

Najczęstsze pytania o Prometheus Alertmanager

WardenPoint przyjmuje to, co Alertmanager zgrupuje server-side. Jeśli pięć alertów leci w jednym webhooku, WardenPoint tworzy jedno powiadomienie ze zgrupowanymi etykietami i uruchamia jeden łańcuch — nie pięć.
Plan darmowy

Podłącz receiver Prometheusa, zanim na nim polegniesz

Dodaj trzy linie do alertmanager.yml, wyślij testowy alert przez amtool i obserwuj jak renderuje się oś czasu w WardenPoint.

  • Kontrakt Webhook v4
  • Grupowanie zachowane
  • Resolve hook respektowany