IncidentGarden

Подключение Grafana

Принимайте алерты Grafana Alerting в Incident Garden.

Это руководство показывает, как подключить Grafana Alerting (встроенный алертинг Grafana) как источник алертов. Если вы ещё не проходили базовую настройку, начните с Quick Start.

В Incident Garden для Grafana есть отдельный тип интеграции — Grafana. Выбирайте именно его при создании интеграции: он сразу подставит готовый пресет важности. (Технически Grafana шлёт payload, совместимый с форматом AlertManager, поэтому приём идёт через тот же endpoint /alerts — но тип при создании нужно указывать Grafana.)

Предусловия

Интеграцию нельзя создать без политики эскалации, поэтому сначала подготовьте следующее в указанном порядке:

  1. Team — команда, которая будет принимать алерты этой интеграции.
  2. Escalation Policy этой команды — цепочка, по которой алерты пойдут к получателям.

Как создать команду и политику, описано в Quick Start: Создание команды и Escalation Policy.

Создание интеграции

Откройте вкладку интеграций команды

Откройте нужную команду и перейдите на вкладку Integrations. Нажмите Add Integration.

Заполните параметры

  • Name — например, «Grafana Production»
  • TypeGrafana
  • Team — команда, к которой привязана интеграция
  • Escalation Policy — политика, подготовленная заранее

При выборе типа Grafana поле маппинга важности заполняется готовым пресетом — для базового сценария оставьте его как есть.

Скопируйте API key

После сохранения откроется диалог с API key интеграции. Скопируйте его.

API key показывается только один раз. Позже в интерфейсе виден лишь его префикс. Если ключ утерян, его нельзя восстановить — можно только перевыпустить новый.

Endpoint приёма

Grafana отправляет уведомления на endpoint вашей интеграции:

POST https://api.incidentgarden.ru/api/v1/integrations/<API_KEY>/alerts

Настройка Grafana

Доставка в Incident Garden настраивается через contact point типа Webhook.

Создайте contact point

В Grafana откройте Alerting → Contact points → Add contact point. Тип — Webhook. В поле URL укажите endpoint вашей интеграции (замените <API_KEY> на ваш ключ), метод — POST:

https://api.incidentgarden.ru/api/v1/integrations/<API_KEY>/alerts

Оставьте отправку resolved-уведомлений включённой — тогда закрытие алерта в Grafana закроет соответствующий алерт в Incident Garden.

Направьте notification policy на этот contact point

В Alerting → Notification policies направьте нужные правила (или корневую политику) на созданный contact point.

Задайте важность меткой severity

Добавьте в alert rule метку severity со значением critical или warning. Incident Garden берёт важность алерта из этой метки (см. маппинг ниже).

Маппинг важности

Пресет для типа Grafana (такой же, как у AlertManager):

  • source_fieldlabels.severity
  • criticalcritical
  • warningwarning, info
  • defaultcritical

Важность каждого алерта берётся из метки severity в его labels. Если метки нет или значение не распознано, алерт получает важность critical (принцип: не знаем важность — будим, чтобы инцидент не потерялся). Как изменить эти значения — см. Настройка важности. Зачем нужен маппинг и как он связан с эскалацией — в концепции Важность и её маппинг.

Как обрабатывается батч

Одно уведомление Grafana превращается в один алерт (плоская группировка). Уведомление со статусом resolved переводит соответствующий алерт в статус resolved.