Inhibition и Silences

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

Подавление (inhibition) и тишина (silences) — два механизма Alertmanager для приглушения оповещений, которые в противном случае генерировали бы ненужные уведомления. Правила подавления, определяемые в разделе inhibit_rules файла alertmanager.yml, автоматически замалчивают оповещения, когда уже активно другое оповещение — например, подавление оповещений уровня сервиса при активном оповещении «дата-центр недоступен», используя матчеры меток для корреляции двух оповещений. Тишина — это временное приглушение, создаваемое через веб-интерфейс Alertmanager или API, как правило во время плановых окон обслуживания, чтобы предотвратить генерацию страниц известными активными оповещениями. Каждое молчание определяется набором матчеров меток, временем начала и окончания и комментарием, объясняющим причину. Понимание того, когда использовать правила подавления, а когда тишину, важно для поддержания чистого и практически значимого конвейера оповещений в системе мониторинга на основе Prometheus.

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

Inhibition и Silences: alerting rules в rule_files: периодически оценивают PromQL-выражения; при возврате результатов алерт срабатывает. Alertmanager (отдельный компонент) принимает алерты, дедуплицирует, группирует, роутит к получателям (PagerDuty, Slack, email, Telegram, webhooks). Концепции: alert rules (for: 5m — требует устойчивого условия), routing tree (по labels), silences (mute при maintenance), inhibition (подавление шумных алертов при сбое).

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

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

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

Ловушки Inhibition и Silences: alert fatigue (слишком много low-priority pages → реальные игнорируются); алерты без runbooks (просто "X плохо" без действия); flapping-алерты (нет for:-порога, условие осциллирует); нет Alertmanager-избыточности (single point of failure для paging).

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

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