Das Projekt IncidentRelay wurde veröffentlicht, das ein offenes System zur Organisation von Bereitschaften, zur Routenführung von Benachrichtigungen und zur Begleitung von Vorfällen entwickelt, das auf einem eigenen Server (self-hosted) betrieben wird. Das Projekt richtet sich an SRE-, DevOps- und Infrastrukturteams, die eine lokal bereitstellbare Alternative zu SaaS-Diensten für das Management von Bereitschaften (on-call management), die Anwendung von Eskalationsrichtlinien und die Reaktion auf Vorfälle benötigen. Der Code des Projekts ist in Python geschrieben und steht unter der MIT-Lizenz.
IncidentRelay empfängt Ereignisse aus Überwachungssystemen, verknüpft sie mit Routingregeln und liefert Benachrichtigungen an verantwortliche Bereitschaftsdienste oder Teams. Im System sind Bereitschaftszeitpläne, Rotationen, Umlagerungen von Schichten, die Bestätigung des Erhalts eines Vorfalls, die Umwandlung eines Vorfalls in resolved, Erinnerungen, Eskalationen und Silences zur Unterdrückung bekannter oder geplanter Alarme implementiert.
Es wird die Entgegennahme von Ereignissen aus Prometheus Alertmanager, Zabbix und beliebigen Webhooks unterstützt. Für die Versendung von Benachrichtigungen stehen die Kanäle Mattermost, Telegram, E-Mail, Webhook und Sprachprovider zur Verfügung. In Mattermost und Telegram können Benachrichtigungen Aktionen zur Bestätigung und Problemlösung enthalten, wodurch Vorfälle ohne Wechsel zu einer separaten Benutzeroberfläche bearbeitet werden können.
IncidentRelay verfügt über ein Modell zur Trennung des Zugangs nach Gruppen und Teams. Dies ermöglicht es, die Sichtbarkeit von Zeitplänen, Routen, Benachrichtigungskanälen und Alerts zwischen verschiedenen Teams zu differenzieren. Für die Automatisierung steht eine HTTP-API zur Verfügung, und für Integrationen werden Bearer-Tokens und Routen-Tokens verwendet.
Das Projekt kann als Zwischenschicht zwischen Überwachungssystemen und Benachrichtigungskanälen eingesetzt werden: Der Alertmanager oder Zabbix sendet ein Ereignis an IncidentRelay, woraufhin das System das Team, den aktuellen Bereitschaftsmitarbeiter bestimmt, die Routing-Regeln anwendet und die Benachrichtigung an den richtigen Kanal sendet. Für nicht bestätigte Vorfälle können wiederholte Erinnerungen und Eskalationen an das nächste Mitglied der Rotation durchgeführt werden.


Quelle: opennet.ru
