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

Після п'яти місяців розробки опубліковано випуск проекту IncidentRelay 1.1, який розвиває відкриту систему для організації чергувань, маршрутизації оповіщень та супроводу інцидентів, що запускається на власному сервері (self-hosted). IncidentRelay 1.1 відзначений як перший стабільний випуск (гілка 1.0 мала статус бета-версії). Проект орієнтований на SRE, DevOps та інфраструктурні команди, яким потрібна локально розгортається альтернатива SaaS-сервісам для управління чергуванням (on-call management), застосування політик ескалації та реагування на інциденти. Код проекту написано на Python і поширюється під ліцензією MIT.

IncidentRelay приймає події із систем моніторингу, зіставляє їх із сервісом, командою та ротацією, після чого доставляє повідомлення відповідальним черговим чи командам. У системі реалізовано розклад чергувань, ротації, перевизначення змін, підтвердження отримання інциденту, стану ACK/Resolve, нагадування, ескалації, тимчасові заміни чергових, визначення часу планових робіт та придушення гучних алертів.

Основна перевага проекту – повний контроль над інфраструктурою та логікою маршрутизації. IncidentRelay розгортається у своєму середовищі, працює зі своєю базою даних і дозволяє явно розділити вхідні маршрути, команди, ротації та канали доставки. Вхідні токени належать маршрутам, а не каналам, тому простіше зрозуміти, яке зовнішнє джерело має право відправляти події до конкретної команди.

У 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.

У новій версії запропоновано такі зміни:

  • Додані багаторівневі on-call ротації з обмеженнями часу, пріоритетами шарів та врахуванням тимчасових замін;
  • З'явився календар чергувань, CalDAV та ICS-підписки для зовнішніх календарів;
  • Реалізовано політики ескалації інцидентів із багатокроковими ланцюжками підвищення рівня;
  • Додано групи попереджень, угруповання подій, відкладені повідомлення та ручне об'єднання пов'язаних алертів;
  • З'явилися вікна для проведення планових робіт та «тихі» алерти;
  • Додано можливість додавання коментарів до алертів;
  • Додано пріоритети інцидентів (P1-P5) та автоматичне підвищення пріоритету за рівнем важливості;
  • Реалізовано сервісний каталог, залежність сервісів, SLI/SLO, історію впливу на роботу систем (Service Impact History) та бізнес-сервіси (Business Services);
  • З'явився Explain Trace для розбору маршрутизації: чому алерт потрапив чи не влучив у команду, був згрупований, пригнічений чи відправлений у конкретний канал;
  • Додані перевірки (Heartbeats/dead-man-switch) для watchdog, backup, ETL та інших завдань, де проблемою є відсутність очікуваного сигналу.



Джерело: opennet.ru
Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster