Первый стабильный выпуск IncidentRelay, системы для организации дежурств и маршрутизации оповещений - QubStore

Первый стабильный выпуск IncidentRelay, системы для организации дежурств и маршрутизации оповещений

После пяти месяцев разработки представлен IncidentRelay 1.1 — открытая self-hosted платформа для управления дежурствами, маршрутизации оповещений и сопровождения инцидентов. Эта версия стала первым стабильным релизом: предыдущая ветка 1.0 имела статус бета.

Первый стабильный выпуск IncidentRelay, системы для организации дежурств и маршрутизации оповещений

Решение нацелено на SRE, DevOps и инфраструктурные команды, которым нужна локально разворачиваемая замена SaaS-сервисам для on-call управления, эскалации и реакции на инциденты. Код написан на Python под лицензией MIT. Система получает события из систем мониторинга, сопоставляет их с сервисами, командами и ротациями, а затем отправляет уведомления дежурным или группам. В функционале — расписания дежурств, ротации, переопределения смен, подтверждение инцидента (ACK/Resolve), напоминания, эскалации, временные замены, окна плановых работ и подавление шумовых алертов.

Главное преимущество проекта — полный контроль над инфраструктурой и логикой маршрутизации. IncidentRelay работает в своём окружении с собственной базой данных, чётко разделяя входящие маршруты, команды, ротации и каналы доставки. Входящие токены привязаны к маршрутам, а не каналам, что упрощает понимание, какой внешний источник уполномочен отправлять события в конкретную команду. Поддерживается приём событий из Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch, а также произвольных webhook-ов. Для уведомлений задействованы каналы Mattermost, Slack, Telegram, Discord, Microsoft Teams, email, webhook-и, browser/PWA push и голосовые провайдеры. В Mattermost и Telegram уведомления включают кнопки для подтверждения и решения проблемы, позволяя обрабатывать инцидент без открытия отдельного интерфейса.

Развернуть проект можно через Docker Compose, RPM-пакет для Red Hat-подобных систем, вручную с systemd или в Kubernetes — с помощью Helm-чарта. Для небольших инсталляций подойдёт SQLite, для рабочих нагрузок и высокой нагрузки рекомендован PostgreSQL. В версии 1.1 появилось много нововведений: многоуровневые on-call ротации с ограничениями по времени, приоритетами слоёв и учётом замен; календарь дежурств с CalDAV и ICS-подписками; политики эскалации с многошаговыми цепочками; группы предупреждений, группировка событий, отложенные уведомления и ручное объединение алертов; окна плановых работ и «тихие» алерты; возможность комментировать алерты; приоритеты инцидентов (P1–P5) с автоматическим повышением по важности. Также добавлены сервисный каталог, зависимости сервисов, SLI/SLO, история влияния на системы (Service Impact History) и бизнес-сервисы (Business Services). Новая функция Explain Trace позволяет разобрать маршрутизацию: почему алерт попал или не попал в команду, был сгруппирован, подавлен или отправлен в конкретный канал. Кроме того, появились проверки Heartbeats/dead-man-switch для watchdog, backup, ETL и других задач, где проблема в отсутствии ожидаемого сигнала.

Ссылка на основную публикацию