Alertmanager
Алертинг в прометеусе разделен на две части
У прометеуса есть alerting rules, которые шлют алерты в alertmanager
Alertmanager управляет приходящими в него алертами, silence'ит их, подавляет, аггрегирует и шлет алерты наружу через email, звонки и чаты
Настройка состоит из трех шагов:
- Установить и сконфигурировать alertmanager
- Сконфигурировать prometheus чтобы он слал алерты в alertmanager
- Создать alerting rules в prometheus
Alertmanager подбирает алерты которые в него прислали, и может дедублицировать их, группировать и роутить у нужные места
Grouping
Группировка категоризирует алерты по их природе и объединяет в один алерт
Это очень полезно при больших авариях, когда фэйлится множество систем и одномоментно может быть отправлено от сотни или тысячи алертов (например при network partitioning)
Inhibition
Подавление позволяет сдерживать нотификации для некоторых алертов если некоторые другие алерты уже были отосланы (незачем слать сообщения о недоступности сервиса в кластере если было отослано сообщение о недоступности самого кластера)
Это конфигурируется в конфиге alertmanager'a
Silences
Сайленсинг позволяет замьютить некоторые алерты на определенное время
Silence'ы конфигурируются на основе матчеров как routing tree
Пришедший алерт проверяется, подходит ли он для какого-либо матчера среди активных silences. Если подходит то алерт не будет отослан
Silences конфигурируются в web-интерфейсе alertmanager'a
Client behavior
Alertmanager имеет специальные требования по поведению клиентов, это полезно в сложных кейсах, когда в качестве клиента используется не prometheus
High Availability
Alertmanager может быть собран в HA кластер. Это конфигурируется через флаги --cluster-*
Здесь важно не балансировать трафик между прометеусом и алертменеджерами, а вместо этого указать прометеусу список всех алертменеджеров
No Comments