Создание оповещения на основе результатов Grafana Advisor

Note

Grafana Advisor выполняет регулярные проверки источников данных, плагинов и вашего экземпляра Grafana, но в будущих выпусках его возможности будут расширены для охвата других аспектов вашей среды Grafana. Вы можете предложить новые проверки и оставить отзыв через эту форму.

Это руководство описывает создание оповещения Grafana, которое отслеживает результаты проверок Advisor и срабатывает при обнаружении сбоев.

Выполните следующие шаги:

  1. Создайте сервисную учётную запись и токен
  2. Настройте источник данных Grafana Infinity
  3. Создайте правило оповещения
  4. Сохраните правило оповещения

Создание сервисной учётной записи и токена

  1. Перейдите в Administration → Users and access → Service accounts в своём экземпляре Grafana
  2. Нажмите Add service account
  3. Укажите имя (например, “advisor-alert-service-account”)
  4. Установите роль Admin, чтобы обеспечить необходимые разрешения
  5. Нажмите Create
  6. В сведениях о сервисной учётной записи нажмите Add service account token
  7. Укажите имя токена и задайте подходящий срок действия
  8. Нажмите Generate token

Caution

Скопируйте значение токена сразу же и сохраните его в надёжном месте — больше вы его не увидите.

Настройка источника данных Grafana Infinity

Note

Используйте плагин Infinity версии 3.3.0 или выше для парсера JQ, который применяется далее.

  1. Перейдите в Connections → Add new connection
  2. Найдите “Infinity”
  3. Если плагин не установлен, нажмите Install. Дождитесь завершения установки плагина.
  4. На странице плагина нажмите Add new data source.
  5. Настройте источник данных:
    • Name: задайте описательное имя (например, “Advisor API”)
    • Setup Authentication: в поле Auth type выберите Bearer Token. В разделе Auth details вставьте токен сервисной учётной записи из шага 1, а в разделе Allowed hosts укажите URL вашего приложения Grafana и нажмите кнопку “Add” (например, https://your-grafana-host.com).
  6. Нажмите Save & test, чтобы проверить соединение

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

Теперь у вас есть всё необходимое для создания оповещения на основе результатов Advisor.

  1. Перейдите в Alerting → Alert rules
  2. Нажмите New alert rule
  3. Укажите имя правила (например, “Advisor Failures Alert”)

Настройка запроса

  1. Data source: выберите источник данных Infinity, созданный на шаге 3
  2. Настройте параметры запроса:
    • Type: JSON
    • Parser: JQ
    • Source: URL
    • Format: Table
    • Method: GET
    • URL: получите его из интерфейса Advisor:
      • Откройте Advisor в своём экземпляре Grafana
      • Откройте инструменты разработчика браузера (F12) → вкладка Network
      • Найдите запрос, заканчивающийся на /checks
      • Скопируйте полный URL (формат: https://<your_grafana_host>/apis/advisor.grafana.app/v0alpha1/namespaces/<your_namespace>/checks)

Настройка параметров парсинга

Rows/Root (вставьте это выражение JQ):

jq
.items | map({
  type: .metadata.labels["advisor.grafana.app/type"],
  creationTimestamp: .metadata.creationTimestamp,
  failuresCount: (.status.report.failures | length)
}) | group_by(.type) | map(sort_by(.creationTimestamp) | last)

Этот запрос JQ обрабатывает данные проверок Grafana Advisor, чтобы получить самый последний результат для каждого типа проверки. Он преобразует каждую проверку в упрощённый объект с типом, временной меткой и числом сбоев. В результате получается чистый массив, показывающий текущее состояние каждого типа проверки (источник данных, плагин, конфигурация и т. д.) с количеством сбоев, что идеально подходит для оповещения, когда у любого типа число сбоев > 0.

Columns (добавьте эти три столбца):

  • Selector: creationTimestamp, Format: Time
  • Selector: failuresCount, Format: Number
  • Selector: type, Format: String

Необязательно: фильтрация по типу проверки

Если вы хотите получать оповещения только для определённых типов проверок:

  1. В разделе Computed columns, Filter, Group by
  2. Добавьте Filter: type == "license" (замените “license” на нужный тип проверки)

Настройка условия оповещения

  • Alert condition: выберите “WHEN Last OF QUERY Is above 0”
  • Оповещение будет срабатывать, когда у любого типа проверки есть сбои.
  • Нажмите “Preview alert rule condition”, чтобы увидеть результат запроса.

Завершение настройки оповещения

Выберите предпочитаемое расписание оценки (например, каждые 24 часа) и настройки уведомлений.

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

Нажмите Save и проверьте, что оповещение срабатывает.

Теперь ваше оповещение настроено на отслеживание результатов Advisor и уведомление вас при обнаружении сбоев!