Последнее обновление: мая 12, 2026

Оповещения Azure Monitor

Источник данных Azure Monitor поддерживает Grafana Alerting и правила записи, управляемые Grafana, что позволяет создавать правила оповещений на основе метрик, логов, трассировок и данных о ресурсах Azure. Вы можете отслеживать свою среду Azure и получать уведомления при выполнении определённых условий.

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

  • Убедитесь, что у вас есть соответствующие разрешения на создание правил оповещений в Grafana.
  • Проверьте, что ваш источник данных Azure Monitor настроен и работает корректно.
  • Ознакомьтесь с концепциями Grafana Alerting.
  • Важно: убедитесь, что источник данных использует поддерживаемый метод аутентификации. См. Требования к аутентификации.

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

Все типы запросов Azure Monitor поддерживают оповещения и правила записи:

Тип запроса Сценарий использования Примечания
Metrics Оповещения по пороговым значениям метрик ресурсов Azure Лучше всего подходит для оповещений; возвращает данные временных рядов
Logs Оповещения по шаблонам логов, количеству ошибок или порогам Используйте KQL для агрегирования данных в числовые значения
Azure Resource Graph Оповещения об изменении состояния или конфигурации ресурсов Используйте агрегацию count для получения числовых данных
Traces Оповещения по данным трассировок и производительности приложения Используйте агрегации для получения числовых значений для вычисления условий

Note

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

Требования к аутентификации

Правила оповещений и записи выполняются как фоновые процессы без контекста пользователя. Это означает, что им требуется аутентификация на уровне сервиса, и они работают не со всеми методами аутентификации.

Метод аутентификации Поддерживается
App Registration (клиентский секрет) ✓
App Registration (клиентский сертификат) ✓
Managed Identity ✓
Workload Identity ✓
Current User ✓ (с резервными сервисными учётными данными)

Note

Если вы используете аутентификацию Current User, для работы оповещений и правил записи необходимо настроить резервные сервисные учётные данные. Учётные данные пользователя недоступны для фоновых операций, поэтому Grafana использует вместо них резервные учётные данные. Подробности настройки резервных учётных данных см. в разделе Настройка источника данных.

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

Чтобы создать правило оповещения на основе данных Azure Monitor:

  1. Перейдите в Alerting > Alert rules.
  2. Нажмите New alert rule.
  3. Введите имя правила оповещения.
  4. В разделе Define query and alert condition:
    • Выберите ваш источник данных Azure Monitor.
    • Настройте запрос (например, запрос Metrics для загрузки CPU или запрос Logs с использованием KQL).
    • Добавьте выражение Reduce, если запрос возвращает несколько рядов.
    • Добавьте выражение Threshold, чтобы определить условие оповещения.
  5. Настройте Set evaluation behavior:
    • Выберите или создайте папку и группу вычисления.
    • Задайте интервал вычисления (как часто проверяется оповещение).
    • Задайте период ожидания (сколько условие должно сохраняться до срабатывания).
  6. Добавьте метки и аннотации, чтобы передать контекст для уведомлений.
  7. Нажмите Save rule.

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

Пример: оповещение о загрузке CPU виртуальной машины

В этом примере создаётся оповещение, которое срабатывает, когда загрузка CPU виртуальной машины превышает 80%:

  1. Создайте новое правило оповещения.
  2. Настройте запрос:
    • Service: Metrics
    • Resource: выберите вашу виртуальную машину
    • Metric namespace: Microsoft.Compute/virtualMachines
    • Metric: Percentage CPU
    • Aggregation: Average
  3. Добавьте выражения:
    • Reduce: Last (чтобы получить самую свежую точку данных)
    • Threshold: Is above 80
  4. Настройте вычисление с запуском каждую 1 минуту и периодом ожидания 5 минут.
  5. Сохраните правило.

Пример: оповещение о количестве ошибок в логах

В этом примере оповещение срабатывает, когда количество ошибок в логах превышает порог, с использованием запроса KQL:

  1. Создайте новое правило оповещения.
  2. Настройте запрос:
    • Service: Logs
    • Resource: выберите ваше рабочее пространство Log Analytics
    • Query:
      kusto
      AppExceptions
      | where TimeGenerated > ago(5m)
      | summarize ErrorCount = count() by bin(TimeGenerated, 1m)
  3. Добавьте выражения:
    • Reduce: Max (чтобы получить наибольшее количество за период)
    • Threshold: Is above 10
  4. Настройте вычисление с запуском каждые 5 минут.
  5. Сохраните правило.

Пример: оповещение о количестве ресурсов

В этом примере оповещение срабатывает, когда количество работающих виртуальных машин падает ниже порога, с использованием Azure Resource Graph:

  1. Создайте новое правило оповещения.

  2. Настройте запрос:

    • Service: Azure Resource Graph

    • Subscriptions: выберите ваши подписки

    • Query:

      kusto
      resources
      | where type == "microsoft.compute/virtualmachines"
      | where properties.extended.instanceView.powerState.displayStatus == "VM running"
      | summarize RunningVMs = count()
  3. Добавьте выражения:

    • Reduce: Last
    • Threshold: Is below 3
  4. Настройте вычисление с запуском каждые 5 минут.

  5. Сохраните правило.

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

Следуйте этим рекомендациям, чтобы создавать надёжные и эффективные оповещения на основе данных Azure Monitor.

Используйте подходящие интервалы запросов

  • Задавайте интервал вычисления оповещения большим или равным минимальному разрешению данных из Azure Monitor.
  • Метрики Azure Monitor обычно имеют минимальную детализацию 1 минута.
  • Избегайте очень коротких интервалов (менее 1 минуты) — они могут приводить к тайм-аутам вычисления или пропуску точек данных.

Сокращайте несколько рядов

Когда запрос Azure Monitor возвращает несколько временных рядов (например, загрузку CPU по нескольким виртуальным машинам), используйте выражение Reduce, чтобы агрегировать их:

  • Last: использует самое свежее значение
  • Mean: среднее по всем рядам
  • Max/Min: использует наибольшее или наименьшее значение
  • Sum: сумма по всем рядам

Оптимизируйте запросы Log Analytics

Для запросов Logs, используемых в оповещениях:

  • Используйте summarize, чтобы агрегировать данные в числовые значения.
  • Включайте подходящие фильтры по времени с помощью ago() или TimeGenerated.
  • Избегайте возврата больших наборов результатов; агрегируйте данные в самом запросе.
  • Проверяйте запросы в Explore, прежде чем использовать их в правилах оповещений.

Обрабатывайте условия отсутствия данных

Настройте, что происходит, когда данные не возвращаются:

  1. В правиле оповещения найдите Configure no data and error handling.
  2. Выберите подходящее действие:
    • No Data: сохранять текущее состояние оповещения
    • Alerting: считать отсутствие данных условием оповещения
    • OK: считать отсутствие данных нормальным состоянием

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

Всегда проверяйте, что запрос возвращает ожидаемые данные, прежде чем создавать оповещение:

  1. Перейдите в Explore.
  2. Выберите ваш источник данных Azure Monitor.
  3. Выполните запрос, который планируете использовать для оповещения.
  4. Убедитесь, что формат данных и значения корректны.
  5. Проверьте, что запрос возвращает числовые данные, пригодные для сравнения с порогом.

Устранение неполадок

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

Оповещения не срабатывают

  • Проверьте, что источник данных использует поддерживаемый метод аутентификации. Если используется аутентификация Current User, убедитесь, что настроены резервные сервисные учётные данные.
  • Проверьте в Explore, что запрос возвращает числовые данные.
  • Убедитесь, что интервал вычисления даёт достаточно времени для появления данных.
  • Просмотрите состояние правила оповещения и сообщения об ошибках в интерфейсе Alerting.

Ошибки аутентификации при вычислении оповещений

Если при вычислении оповещений появляются ошибки аутентификации:

  • Убедитесь, что источник данных настроен с использованием App Registration, Managed Identity, Workload Identity или Current User с резервными сервисными учётными данными.
  • Если используется App Registration, проверьте, что срок действия клиентского секрета не истёк.
  • Если используется Current User, проверьте, что резервные сервисные учётные данные настроены и действительны.
  • Проверьте, что у субъекта-службы есть соответствующие разрешения на ресурсы Azure.

Ошибки тайм-аута запросов

  • Увеличьте тайм-аут источника данных. По умолчанию тайм-аут составляет 30 секунд, но запросы Azure Log Analytics могут выполняться до 3 минут. Откройте настройки источника данных Azure Monitor, прокрутите до раздела Misc и задайте для Timeout значение 300. См. Тайм-аут запроса.
  • Упростите сложные запросы KQL.
  • Сократите диапазон времени в запросах Log Analytics.
  • Добавьте более конкретные фильтры, чтобы сузить наборы результатов.
  • Убедитесь, что интервал вычисления оповещения достаточно велик, чтобы вместить длительность запроса.

Дополнительную помощь по устранению неполадок см. в разделе Устранение неполадок Azure Monitor.

Дополнительные ресурсы