Files
onGuard24/docs/IRM_GRAFANA_PARITY.md
Alexandr a8ccf1d35c
Some checks failed
Deploy / deploy (push) Has been cancelled
CI / test (push) Successful in 37s
release: v1.9.0 — IRM-алерты отдельно от инцидентов
- Alembic 005: таблицы irm_alerts и incident_alert_links
- Модуль alerts: API/UI, Ack/Resolve, привязка к инциденту через alert_ids
- Вебхук Grafana: одна транзакция ingress + irm_alerts; разбор payload в grafana_payload
- По умолчанию инцидент из вебхука не создаётся (AUTO_INCIDENT_FROM_ALERT)
- Документация IRM_GRAFANA_PARITY.md, обновления IRM.md и CHANGELOG

Made-with: Cursor
2026-04-03 15:26:38 +03:00

3.6 KiB
Raw Blame History

Сравнение onGuard24 с Grafana IRM (Alerting / Incident)

Grafana Cloud / IRM даёт группы алертов, Acknowledge / Resolve, инциденты, команды (teams), эскалационные цепочки, расписания дежурств. Ниже — что уже есть в onGuard24 и что планировать отдельно.

Уже есть (после разделения алерт / инцидент)

Grafana IRM (идея) onGuard24
Входящие уведомления от интеграции Webhook POST /api/v1/ingress/grafanaingress_events + irm_alerts
Статусы firing / acknowledged / resolved Поле irm_alerts.status, UI Алерты, API PATCH …/acknowledge, …/resolve
Просмотр labels / сырого payload Карточка алерта в UI, JSON вебхука
Инцидент как отдельная сущность incidents, создание вручную или кнопка «Создать инцидент» на алерте; связь incident_alert_links
Эскалации (JSON-шаги) Модуль Эскалации (escalation_policies) — без автодвижка по таймерам
Контакты / каналы Модуль Контакты
Расписания (заглушка) Календарь дежурств — UI-задел

Пока нет (зрелые следующие этапы)

Функция Grafana IRM Заметка
Teams с фильтрами и привязкой маршрутов Нет сущности team; алерты не маршрутизируются по команде
Alert groups (несколько алертов в одной группе с общим ID) Сейчас одна строка irm_alerts на один webhook; группировка fingerprint / rule_uid — отдельная задача
Silence / Restart из UI Статус silenced в БД зарезервирован, логика не подключена
Эскалация по таймеру (wait 15m → notify next) Политики есть, фонового исполнителя нет
On-call из расписания в цепочке Нет связи schedules → escalation executor
Пользователи / «Mine» / назначение Нет учётных записей onGuard24 для дежурного; acknowledged_by — свободный текст (можно расширить)
Интеграция обратно в Grafana (resolve в Grafana из IRM) Не делалось

Переменные окружения

  • AUTO_INCIDENT_FROM_ALERT — если 1 / true, сохраняется старое поведение: каждый вебхук ещё и создаёт строку в incidents. По умолчанию выключено: только irm_alerts.

Рекомендуемый поток

  1. Grafana → webhook → алерт (firing).
  2. Дежурный в Алертах: прочитал → Ack → разобрался → Resolve (или сразу Resolve).
  3. При необходимости Создать инцидент (документирование, задачи, эскалация вручную).

Так модель ближе к IRM, где алерт и инцидент разведены.