Alertmanager

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

Alertmanager — это отдельный компонент экосистемы Prometheus, отвечающий за обработку, дедупликацию, группировку, маршрутизацию и доставку оповещений. Он играет ключевую роль в управлении алертами, обеспечивая их эффективную доставку и управление. Alertmanager принимает оповещения от Prometheus через HTTP API и использует конфигурационный файл alertmanager.yml для определения маршрутизации и настройки различных получателей уведомлений. Это делает Alertmanager незаменимым компонентом для управления алертами и предотвращения алерт-фатиги, когда пользователи начинают игнорировать важные уведомления из-за избыточности менее значимых оповещений.

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

Alertmanager принимает оповещения от Prometheus, которые создаются на основе алерт-правил, определенных в конфигурационных файлах. Эти правила периодически оцениваются с помощью PromQL-выражений, и при срабатывании условия, алерт отправляется в Alertmanager. Там он проходит через процесс дедупликации, группировки и маршрутизации, прежде чем быть отправленным в соответствующие каналы уведомлений. Alertmanager поддерживает различные получатели уведомлений, включая электронную почту, Slack, PagerDuty, OpsGenie и пользовательские вебхуки. Он также предоставляет возможность подавления оповещений, когда они дублируются или когда они не должны быть отправлены из-за текущего состояния системы, например, во время обслуживания.

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

Алертите на симптомы (latency, error rate, SLO burn), не на причины (CPU usage, RAM). Используйте опцию for: 5m (или длиннее) для предотвращения отправки алертов на случайные всплески. Используйте severity labels (severity: page / severity: ticket) для различного роутинга алертов. Каждый алерт должен иметь annotation runbook_url, чтобы в случае срабатывания алерта, можно было быстро получить инструкции по устранению проблемы.

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

Типичные ошибки при использовании Alertmanager включают алерт-фатигу, когда пользователи начинают игнорировать важные уведомления из-за избыточности менее значимых оповещений. Также часто встречаются алерты без runbooks, которые не содержат конкретных действий по устранению проблемы. Кроме того, часто встречаются flapping-алерты, которые срабатывают и сбрасываются слишком часто из-за нестабильных условий. Наконец, отсутствие Alertmanager-избыточности может привести к тому, что система будет зависеть от одного компонента, что увеличивает риск сбоя.

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

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