Вычисление правил оповещений
Критерии, определяющие, когда срабатывает правило оповещения, основаны на трёх настройках:
-
Группа вычисления: как часто вычисляется правило оповещения.
-
Период ожидания: как долго условие должно выполняться, чтобы начать срабатывание.
-
Продолжать срабатывание в течение: как долго оповещение продолжает срабатывать после того, как условие перестало выполняться.
Set alert rule evaluation
Эти настройки влияют на то, как экземпляры оповещений проходят свой жизненный цикл.
Жизненный цикл оповещения
Каждое правило оповещения может порождать один или несколько экземпляров оповещений.
Экземпляр оповещения может находиться в любом из следующих состояний в зависимости от результата вычисления правила оповещения:
Если правило оповещения изменяется (кроме обновлений аннотаций, интервала вычисления или других внутренних полей), его экземпляры оповещений сбрасываются в состояние Normal и соответствующим образом обновляются при следующем вычислении.
Note
Состояния No Data и Error поддерживаются только для Grafana-managed правил оповещений. Обратитесь к разделу Состояния No Data и Error, чтобы настроить их поведение по умолчанию для запуска отдельного оповещения.
Маршрутизация уведомлений
Экземпляры оповещений маршрутизируются для уведомлений в двух случаях:
- Когда они переходят в состояние Alerting.
- Когда они переходят в состояние Normal и помечаются как
Resolved— либо из состояния Alerting, либо из состояния Recovering.
Группа вычисления
Каждому правилу оповещения и recording-правилу назначается группа вычисления. Каждая группа вычисления содержит интервал вычисления, определяющий, как часто проверяется правило. Например, вычисление может происходить каждые 10s, 30s, 1m, 10m и т. д.
Правила могут вычисляться параллельно или последовательно. Подробнее см. в разделе Как вычисляются правила внутри группы.
Период ожидания
Вы можете задать период ожидания (Pending period), чтобы предотвратить ненужные уведомления, вызванные временными проблемами.
Когда условие оповещения выполнено, экземпляр оповещения переходит в состояние Pending. Он остаётся в этом состоянии, пока в течение настроенного периода ожидания выполняется любое условие оповещения. После истечения периода ожидания оповещение переходит в состояние, соответствующее последнему вычислению.
Это гарантирует, что нарушение условия стабильно, прежде чем оповещение перейдёт в состояние Alerting и будет маршрутизировано для уведомления.
- Normal -> Pending -> Alerting*
Вы также можете задать период ожидания равным нулю, чтобы полностью пропустить состояние Pending и сразу перейти в состояние Alerting, No Data или Error.
Продолжать срабатывание в течение
Вы можете задать период Продолжать срабатывание в течение (Keep firing for), чтобы избежать повторяющихся уведомлений firing-resolving-firing, вызванных колеблющимися условиями.
Когда условие оповещения перестаёт выполняться в состоянии Alerting, экземпляр оповещения переходит в состояние Recovering.
- Alerting → Recovering → Normal (Resolved)*
- После истечения периода Продолжать срабатывание в течение оповещение переходит в состояние Normal и помечается как Resolved.
- Если условие оповещения снова выполняется, оповещение возвращается в состояние Alerting, и новые уведомления не отправляются.
Вы также можете задать период Продолжать срабатывание в течение равным нулю, чтобы полностью пропустить состояние Recovering.
Пример вычисления
Имейте в виду:
- Одно правило оповещения может порождать несколько экземпляров оповещений — по одному для каждой серии или измерения, создаваемого запросом правила. Экземпляры оповещений из одного правила оповещения могут находиться в разных состояниях.
- Только экземпляры оповещений в состоянии Alerting и Normal (Resolved) маршрутизируются для уведомлений.
Рассмотрим правило оповещения с интервалом вычисления каждые 30 секунд и периодом ожидания 90 секунд. Вычисление происходит следующим образом:
При периоде продолжать срабатывание в течение 0 секунд экземпляр оповещения немедленно переходит из Alerting в Normal и помечается как Resolved: