Alertmanager

Тема дорожной карты · Observability

Alertmanager — компонент маршрутизации и управления алертами экосистемы Prometheus, отвечающий за дедупликацию, группировку, замалчивание, ингибирование и отправку алертов нужному получателю. Когда Prometheus вычисляет правило алертинга и обнаруживает его срабатывание, он отправляет алерт в Alertmanager, который применяет дерево маршрутизации, определённое в alertmanager.yml, чтобы решить, куда и как доставить уведомление. Alertmanager поддерживает получателей для PagerDuty, Slack, электронной почты, вебхука, OpsGenie и других систем с настраиваемыми временны́ми окнами группировки (group_wait, group_interval, repeat_interval), которые предотвращают шторм уведомлений во время масштабных аварий. Замалчивания позволяют инженерам подавлять известные алерты во время технических окон через API или UI Alertmanager, а правила ингибирования автоматически подавляют алерты с более низким приоритетом, когда активен алерт с более высоким приоритетом. Запуск нескольких реплик Alertmanager в кластере с флагами --cluster.peer обеспечивает высокую доступность этого критически важного компонента наблюдаемости.

Как это работает

Alertmanager соединяет observability-данные с людьми через on-call ротации. Инструменты: Alertmanager (Prometheus-native), Grafana Alerting (multi-source), PagerDuty / OpsGenie / Squadcast (incident management поверх). Правила оценивают metrics/logs/traces-запросы; срабатывают при for: 5m; роутятся по labels (severity: page vs severity: ticket); идут в каналы (PagerDuty, Slack, Telegram, webhook). SLO burn-rate alerts — современный best practice.

Когда применять

Алертите на симптомы (SLO burn rate, error rate, latency), не на причины (CPU, RAM). Multi-window multi-burn-rate alerts — fast pages для внезапно-плохого, slow tickets для постепенной деградации. Всегда runbook URL в annotations. Тестируйте алерты в staging до production. Аудитьте alert fatigue раз в квартал — убивайте алерты, на которые никто не реагирует.

Типичные ошибки

Ловушки Alertmanager: pages на инфра-метриках, не затрагивающих юзеров (CPU > 80% на 12-ядерном боксе в 3:00 на non-user-facing job); flapping-алерты (нет for:); алерты без runbook = хаос в 3:00; все алерты в один Slack-канал (alert fatigue).

Связанные понятия

Полезные ресурсы