Публикуван е проектът IncidentRelay, който развива отворена система за организиране на дежурства, маршрутизиране на известия и управление на инциденти, стартираща на собствен сървър (self-hosted). Проектът е насочен към SRE, DevOps и инфраструктурни екипи, които се нуждаят от локално разгръщаща се алтернатива на SaaS услугите за управление на дежурства (on-call management), прилагане на ескалационни политики и реагиране на инциденти. Кодът на проекта е написан на Python и се разпространява под лиценз MIT.
IncidentRelay приема събития от системи за мониторинг, съпоставя ги с правила за маршрутизиране и доставя известия до отговорните дежурни или екипи. В системата са имплементирани графици на дежурства, ротации, пренасочвания на смени, потвърждение на получаването на инцидент, прехвърляне на инцидента в resolved, напомняния, ескалации и silences за потискане на известни или планирани сработвания.
Поддържа се получаване на събития от Prometheus Alertmanager, Zabbix и произволни webhook-ове. За изпращане на известия са предвидени канали Mattermost, Telegram, имейл, webhook и гласови доставчици. В Mattermost и Telegram известията могат да съдържат действия за потвърждение и разрешаване на проблема, което позволява обработка на инцидента без преминаване в отделен интерфейс.
В IncidentRelay е предвидена модел на разделяне на достъпа по групи и екипи. Това позволява разграничаване на видимостта на графиците, маршрутите, каналите за известия и алерти между различни екипи. За автоматизация е наличен HTTP API, а за интеграции се използват bearer токени и route токени.
Проектът може да се използва като междинен слой между системите за мониторинг и каналите за известия: Alertmanager или Zabbix изпраща събитие в IncidentRelay, след което системата определя екипа, текущия дежурен, прилага правила за маршрутизиране и изпраща известие в нужния канал. За неподтвърдени инциденти могат да се извършват повторни напомняния и ескалации на следващия участник в ротацията.


Източник: opennet.ru
