Alert groups

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

Группы алертов в Grafana Alerting — это логические контейнеры, организующие правила алертинга внутри папки, управляющие расписанием вычисления и группирующие связанные правила для удобства управления. Каждая группа алертов имеет настраиваемый интервал вычисления — например, 1m — определяющий, как часто Grafana вычисляет все правила в этой группе; все правила в одной группе разделяют одно расписание вычисления, что позволяет эффективно объединять вычисления. Со стороны уведомлений Grafana Alerting использует метки Group by, заданные в политике уведомлений, чтобы объединять несколько одновременно сработавших алертов из разных правил в одно сгруппированное уведомление, снижая усталость от алертов у дежурных. Просмотр групп алертов в интерфейсе Grafana через Alerting > Alert rules показывает текущее состояние каждого правила алертинга, организованного по папкам и группам, с цветовой индикацией состояний Normal, Pending, Firing, NoData и Error. При провизионировании правил алертинга через YAML-файлы ключ groups в конфигурации провизионирования алертинга непосредственно соответствует тому же понятию группы, отражая имя папки и группы, отображаемые в интерфейсе алертинга Grafana.

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

Alert groups (unified alerting с Grafana 9) позволяет определять alert rules с PromQL/LogQL/SQL-запросами + периодически оценивать + роутить к contact points. Rules в папках; папки наследуют notification policies. Notification channels: Slack, PagerDuty, OpsGenie, Telegram, email, webhook, MS Teams. Состояния алертов: Normal, Pending (условие выполнено, но ещё не дошло до "for"-длительности), Firing.

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

Grafana alerting — если хотите алерты, охватывающие несколько datasources (одно правило, комбинирующее Prometheus + Loki — полезно для SLO с errors + latency). Prometheus + Alertmanager напрямую — если хотите single PromQL/Alertmanager-стек. Выберите один и держитесь его; гонять оба создаёт путаницу дублирования правил.

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

Ловушки Alert groups: алерты без "for:"-длительности (flapping); имена алертов без контекста (HighCPU — на чём? когда?); нет runbook-ссылки в annotations; все алерты в один Slack-канал (alert fatigue — роутьте по severity).

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

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