Prometheus Alertmanager

Маршрутизуйте alert-и Prometheus у дзвінки, Telegram та чергування

Додайте webhook receiver в alertmanager.yml. Згруповані alert-и стають одним інцидентом WardenPoint з одним UUID. Ланцюг ескалації запускається раз на групу, а не на alert.

Config
YAML
Формат
Webhook v4
Групування
За UUID

Анатомія push Alertmanager

LIVE
Alertmanager → webhook
групове firing, severity=critical
WardenPoint
один інцидент · один ланцюг · мульти-канал
Telegram
Voice call
Email

Налаштування

Додайте webhook receiver в alertmanager.yml

Три рядки у наявному конфізі Alertmanager — і WardenPoint як receiver. Reload і ви в ефірі.

  1. 1Крок 1

    Додайте receiver

    Допишіть webhook_configs у alertmanager.yml з URL зі сторінки Integrations WardenPoint.

    $ receivers: [ name: wardenpoint, … ]
  2. 2Крок 2

    Маршрутизуйте на нього

    Виставте top-level route на receiver: wardenpoint, або використайте sub-route matcher (severity, team, env), щоб звузити обсяг.

    $ route: { receiver: wardenpoint }
  3. 3Крок 3

    Reload Alertmanager

    SIGHUP або /-/reload. Alertmanager підхоплює новий receiver без restart.

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

Формат у мережі

Receiver Alertmanager у YAML

Вставте ці рядки в alertmanager.yml. Групування server-side; WardenPoint отримує один webhook зі згрупованим контекстом і запускає один ланцюг.

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
Розсилка WardenPoint
WardenPoint response202
{
"status": "queued",
"notification_uuid": "notif_8h2k7yQrxJp",
"channels_planned": [
"telegram_voice",
"voice_call",
"email"
],
"escalation_chain_id": "esc_4j2k9bMcvL"
}

Маршрутизація-рецепти

Три патерни Alertmanager, що ми найчастіше бачимо

Маршрутизуйте за лейблами на рівні Alertmanager, а WardenPoint впорається з багатоканальною розсилкою.

Severity

Critical → телефон + Telegram

Зіставляйте severity=critical у route Alertmanager і перенаправляйте лише ці alert-и у WardenPoint. Нижчі severity лишаються у чатах.

match
severity = critical
→ route
receiver: wardenpoint
Cluster

Маршрутизація per cluster

Лейбл cluster дозволяє слати alert-и з різних кластерів у різні групи одержувачів зі своїми ротаціями чергувань.

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

Гасіть шумні дублікати

Використовуйте inhibit_rules в Alertmanager, щоб придушити похідні alert-и до WardenPoint.

match
alertname = NodeDown
→ route
inhibit: { ServiceDown }

FAQ Alertmanager

Часті питання про Prometheus Alertmanager

WardenPoint приймає те, що Alertmanager групує server-side. Якщо п'ять alerts летять одним webhook, WardenPoint створює одне сповіщення зі згрупованими лейблами і запускає один ланцюг — не п'ять.
Безкоштовний план

Підключіть Prometheus receiver, перш ніж покладатись на нього

Додайте три рядки в alertmanager.yml, надішліть тестовий alert через amtool і подивіться, як рендериться стрічка у WardenPoint.

  • Контракт Webhook v4
  • Групування збережене
  • Resolve hook поважається