Опубликован выпуск проекта IncidentRelay 2.0, развивающего открытую систему для организации дежурств, маршрутизации оповещений и сопровождения инцидентов, разворачиваемую на собственном сервере (self-hosted). Проект ориентирован на SRE, DevOps и инфраструктурные команды, которым требуется локальная альтернатива облачным платформам управления дежурствами. Код написан на Python и распространяется под лицензией MIT. IncidentRelay принимает события из Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch, Datadog, Uptime Kuma и произвольных webhook-обработчиков. После нормализации событие связывается с сервисом, командой и ротацией, к нему применяются правила маршрутизации и политики эскалации, после чего уведомление направляется текущему дежурному. Для доставки поддерживаются Mattermost, Slack, Telegram, Discord, Microsoft Teams, email, webhook, browser/PWA push и провайдеры голосовых вызовов. Главным новшеством версии 2.0 стал механизм Event Orchestration, предоставляющий отдельный слой обработки событий между входящими интеграциями и жизненным циклом алерта. Основные изменения:
Источник: https://www.opennet.ru/opennews/art.shtml?num=66094
- Добавлен визуальный редактор правил оркестрации. Правила могут применяться глобально или к отдельному сервису, объединяться во вложенные группы условий и последовательно изменять приоритет, уровень важности, метки, команду, маршрут, способ группировки, политики уведомлений и эскалации; Реализованы действия для подавления, отбрасывания и приостановки обработки событий, извлечения значений при помощи регулярных выражений и JSON Path, разделения строк, создания переменных и преобразования значений; Конфигурация оркестрации разделена на редактируемые черновики и неизменяемые опубликованные версии. Поддерживаются проверка конфигурации, публикация, откат на предыдущую версию и добавление комментариев к изменениям; Предусмотрены режимы disabled, shadow и active. В режиме shadow результаты выполнения правил сохраняются для анализа, но не влияют на реальную маршрутизацию. Для переходного периода доступны режимы совместимости legacy, hybrid и orchestration; Добавлены средства симуляции и повторного воспроизведения событий. Они позволяют проверить правила на нормализованном событии или исходном payload интеграции без создания реального алерта. Для анализа результатов предоставляются трассировка выполнения, Explain-данные и метрики теневого режима; Реализованы переиспользуемые webhook-действия, выполняемые асинхронно после обработки события. Заголовки хранятся в зашифрованном виде, секреты скрываются в API и журналах, а обращения к частным сетям по умолчанию запрещены. Можно настроить тайм-ауты, повторные попытки и список разрешённых внутренних адресов; Добавлена интеграция с Uptime Kuma, принимающая стандартные webhook-сообщения о состоянии мониторов. Реализованы нормализация состояний UP и DOWN, определение важности, обработка тегов и новый тип входящего маршрута uptime_kuma; Для silences и окон плановых работ появились параметры apply_to_existing и reactivate_on_end. Первый позволяет применить подавление к уже открытым алертам, а второй определяет, следует ли возобновить их обработку после завершения периода подавления. Приостанавливаются и восстанавливаются уведомления, напоминания и цепочки эскалации; Для персональных API-токенов введены раздельные права чтения и изменения групп, команд, пользователей, маршрутов, каналов, сервисов, ротаций, политик, окон обслуживания, heartbeat-проверок, SSO и оркестраций. Старые агрегированные права resources:read, resources:write и * сохранены для обратной совместимости; Добавлен интерфейс журнала аудита с фильтрацией и постраничным выводом. В журнале фиксируются операции с оркестрациями, webhook-действиями, silences и окнами плановых работ, при этом конфиденциальные значения удаляются из отображаемых данных; В web-интерфейсе появилась тёмная тема и пользовательские настройки языка и оформления. Добавлена французская локализация, расширены переводы разделов оркестрации и обслуживания, исправлено редактирование правил сопоставления групп SSO; Улучшена работа heartbeat-проверок: исключено повторное создание событий о просрочке, восстановление сигнала корректно закрывает алерт и отправляет уведомление о решении проблемы, унифицировано представление временных меток; Подготовлена документация по развёртыванию в Kubernetes при помощи Helm. В Helm-чарт добавлен отдельный обработчик Slack Socket Mode, необходимый для работы интерактивных кнопок подтверждения и закрытия инцидентов; Усилена защита исходящих HTTP-запросов, регулярных выражений и конфиденциальных данных, централизована обработка UTC и часовых поясов, переработаны вычисления расписаний ротаций и расширено покрытие автоматическими тестами.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66094