Алертинг TestData
Источник данных TestData поддерживает Grafana Alerting. Вы можете использовать его для прототипирования правил алертинга, тестирования пороговых условий и проверки конвейеров уведомлений без подключения к внешнему источнику данных.
Перед началом
- Настройте источник данных TestData.
- Ознакомьтесь с правилами алертинга и тем, как создать управляемое Grafana правило алертинга.
Выбор сценария для алертинга
Сценарии TestData, возвращающие данные временных рядов, работают с условиями правил алертинга. Выберите сценарий в зависимости от поведения, которое хотите протестировать.
Сценарии, создающие журналы, трассировки или данные потоковой передачи, не подходят для пороговых условий алертов.
Создание правила алертинга
Чтобы создать правило алертинга с использованием TestData:
- Перейдите в Alerting > Alert rules.
- Нажмите New alert rule.
- Введите имя для правила.
- Выберите источник данных TestData.
- Выберите сценарий в раскрывающемся списке Scenario (например, Predictable Pulse).
- Настройте параметры сценария.
- Добавьте выражение Reduce для агрегации ряда (например, значение Last).
- Добавьте выражение Threshold для определения условия (например, Is above
0.5). - Задайте интервал вычисления и период ожидания (pending period).
- Настройте уведомления и метки.
- Нажмите Save rule.
Подробные инструкции см. в разделе Создание управляемого Grafana правила алертинга.
Пример: алерт Predictable Pulse
Сценарий Predictable Pulse создаёт повторяющуюся волну вкл/выкл, которая идеальна для тестирования правил алертинга, потому что шаблон срабатывания детерминирован и воспроизводим.
Чтобы создать алерт Predictable Pulse:
-
Выберите сценарий Predictable Pulse.
-
Настройте параметры импульса:
-
Добавьте выражение Reduce с функцией Last.
-
Добавьте выражение Threshold: Is above
0.5.
При этой конфигурации алерт срабатывает на 3 минуты (3 × 60 с точек «вкл»), а затем разрешается на 6 минут (6 × 60 с точек «выкл»), повторяясь бесконечно. Настройте шаг, количество «вкл» и количество «выкл», чтобы управлять таймингом.
Пример: пороговый алерт по CSV Metric Values
Сценарий CSV Metric Values позволяет определить точную последовательность точек данных, что делает его полезным для тестирования точных границ порога.
Чтобы создать пороговый алерт с фиксированными значениями:
-
Выберите сценарий CSV Metric Values.
-
Введите список значений, разделённых запятыми, в поле String Input. Например:
10,45,70,95,50,20 -
Добавьте выражение Reduce с функцией Last.
-
Добавьте выражение Threshold: Is above
80.
При этом вводе ряд циклится через значения 10, 45, 70, 95, 50, 20. Алерт срабатывает, когда уменьшенное значение превышает 80 (точка данных 95), и разрешается, когда оно падает обратно ниже порога.
Этот подход полезен для проверки того, что пороговое условие срабатывает точно на ожидаемой границе.
Тестирование ошибок и условий «нет данных»
TestData включает сценарии, предназначенные для тестирования того, как алерты реагируют на сбои. Используйте их, чтобы проверить, что ваши правила алертинга правильно обрабатывают крайние случаи перед подключением к продакшен-источникам данных.
Нет данных
Выберите сценарий No Data Points. Бэкенд возвращает пустой результат, который запускает состояние no data правила алертинга. Используйте это, чтобы проверить, что ваше правило настроено на создание алерта, сохранение последнего состояния или разрешение, когда данные не получены. Настройте это поведение в разделе No data and error handling правила алертинга.
Ошибки
Выберите Error with source и выберите тип ошибки:
- Plugin — имитирует сбой в самом плагине. Алерт переходит в состояние ошибки.
- Downstream — имитирует сбой в источнике данных или сети. Алерт переходит в состояние ошибки с классификацией нижестоящего сервиса.
Вы также можете использовать Random Walk (with error), который возвращает допустимые данные вместе с ошибкой, чтобы тестировать, как движок алертинга обрабатывает частичные сбои.
Тайм-ауты
Выберите Slow Query и установите поле String Input в длительность больше вашего интервала вычисления (например, 30s для правила, вычисляемого каждые 10s). Задержка по умолчанию — 5s. Используйте это, чтобы проверить поведение при тайм-ауте и подтвердить, что алерты переходят в ожидаемое состояние, когда запросы выполняются слишком долго.
Ограничения
При использовании TestData с Grafana Alerting учитывайте следующие ограничения.
Переменные шаблонов не поддерживаются в запросах алертов
Grafana вычисляет правила алертинга на бэкенде без контекста дашборда. Переменные шаблонов, такие как $varname, не разрешаются во время вычисления алерта. Используйте фиксированные значения в параметрах сценария вместо этого.
С условиями алертов работают только сценарии временных рядов
Условия алертов требуют числовых данных временных рядов. Сценарии, создающие журналы (Logs), трассировки (Trace), графы (Node Graph, Flame Graph), аннотации (Annotations) или таблицы (Table Static), не могут использоваться в качестве условий алертов.
Сценарии потоковой передачи не вычисляются движком алертинга
Движок алертинга вычисляет запросы через фиксированные интервалы и не потребляет данные потоковой передачи. Избегайте использования Streaming Client, Grafana Live или Simulation с включённой потоковой передачей для правил алертинга.