Последнее обновление: августа 10, 2026

Оповещения Elasticsearch

Вы можете использовать Grafana Alerting вместе с Elasticsearch, чтобы создавать оповещения на основе данных Elasticsearch. Это позволяет отслеживать метрики, обнаруживать аномалии и получать уведомления при выполнении определённых условий.

Общую информацию о Grafana Alerting см. в разделе Grafana Alerting.

Прежде чем начать

Прежде чем создавать оповещения с помощью Elasticsearch, убедитесь, что у вас есть:

  • Источник данных Elasticsearch, настроенный в Grafana
  • Соответствующие права на создание правил оповещений
  • Понимание метрик, которые вы хотите отслеживать

Поддерживаемые типы запросов

Оповещения Elasticsearch лучше всего работают с запросами метрик, возвращающими данные временных рядов. Чтобы создать корректный запрос для оповещения:

  • Используйте Date histogram в качестве последней bucket-агрегации (в разделе Group by)
  • Выберите подходящие metric-агрегации (Count, Average, Sum, Min, Max и т. д.)

Запросы, возвращающие данные временных рядов, позволяют Grafana вычислять значения с течением времени и срабатывать оповещениям при пересечении порогов.

Совместимость типов запросов с оповещениями

Тип запроса Поддержка оповещений Примечания
Метрики с Date histogram Поддерживается Рекомендуется для оповещений
Метрики без Date histogram Ограниченно Может вычисляться некорректно с течением времени
Журналы Не поддерживается Используйте вместо этого запросы метрик
Необработанные данные Не поддерживается Используйте вместо этого запросы метрик
Необработанный документ (устарело) Не поддерживается Устарело с Grafana v10.1. Используйте вместо этого запросы метрик

Создание правила оповещения

Чтобы создать правило оповещения с помощью Elasticsearch:

  1. Перейдите в Alerting > Alert rules.
  2. Нажмите New alert rule.
  3. Введите имя правила оповещения.
  4. Выберите ваш источник данных Elasticsearch.
  5. Постройте запрос с помощью редактора запросов:
    • Добавьте metric-агрегации (например, Average, Count, Sum)
    • Добавьте Date histogram в разделе Group by
    • При необходимости добавьте фильтры с помощью синтаксиса запросов Lucene
  6. Настройте условие оповещения (например, когда среднее значение превышает порог).
  7. Задайте интервал вычисления и период ожидания (pending period).
  8. Настройте уведомления и метки (labels).
  9. Нажмите Save rule.

Подробные инструкции см. в разделе Создание правила оповещения, управляемого Grafana.

Примеры запросов для оповещений

Следующие примеры показывают типичные сценарии оповещений с Elasticsearch.

Оповещение о большом числе ошибок

Отслеживайте количество записей журнала уровня error:

  1. Запрос: level:error
  2. Метрика: Count
  3. Группировка: Date histogram (интервал: 1m)
  4. Условие: когда количество превышает 100

Оповещение о среднем времени отклика

Отслеживайте время отклика API:

  1. Запрос: type:api_request
  2. Метрика: Average по полю response_time
  3. Группировка: Date histogram (интервал: 5m)
  4. Условие: когда среднее значение превышает 500 (миллисекунд)

Оповещение о падении числа уникальных пользователей

Обнаруживайте снижение числа активных пользователей:

  1. Запрос: * (все документы)
  2. Метрика: Unique count по полю user_id
  3. Группировка: Date histogram (интервал: 1h)
  4. Условие: когда число уникальных значений становится меньше 100

Ограничения

При использовании Elasticsearch с Grafana Alerting учитывайте следующие ограничения.

Переменные шаблона не поддерживаются

Запросы оповещений не могут содержать переменные шаблона. Grafana вычисляет правила оповещений на бэкенде без контекста дашборда, поэтому переменные вроде $hostname или $environment не будут разрешены.

Если ваш запрос дашборда использует переменные шаблона, создайте отдельный запрос для оповещения с жёстко заданными значениями.

Запросы журналов не поддерживаются

Запросы, использующие тип метрики Logs, нельзя применять для оповещений. Вместо этого преобразуйте запрос к использованию metric-агрегаций с Date histogram.

Сложность запроса

Сложные запросы с множеством вложенных агрегаций могут завершаться по тайм-ауту или не вычисляться. Упростите запросы для оповещений:

  • Сократив количество bucket-агрегаций
  • Используя подходящие временные интервалы
  • Добавив фильтры для ограничения объёма просматриваемых данных

Рекомендации

При создании оповещений Elasticsearch следуйте этим рекомендациям:

  • Используйте точные фильтры: добавляйте фильтры запросов Lucene, чтобы сосредоточиться на релевантных данных и повысить производительность запроса.
  • Выбирайте подходящие интервалы: согласуйте интервал Date histogram с частотой вычисления правила.
  • Сначала тестируйте запросы: убедитесь, что запрос возвращает ожидаемые результаты в Explore, прежде чем создавать оповещение.
  • Задавайте реалистичные пороги: основывайте пороги оповещений на исторических закономерностях данных.
  • Используйте осмысленные имена: давайте правилам оповещений описательные имена, отражающие то, что они отслеживают.