È stato pubblicato il progetto IncidentRelay, che sviluppa un sistema aperto per l'organizzazione dei turni, la gestione delle notifiche e l'assistenza agli incidenti, da eseguire su un server dedicato (self-hosted). Il progetto è rivolto a team SRE, DevOps e di infrastruttura che necessitano di un'alternativa locale ai servizi SaaS per la gestione dei turni (on-call management), l'applicazione di politiche di escalation e la risposta agli incidenti. Il codice del progetto è scritto in Python ed è distribuito sotto licenza MIT.
IncidentRelay riceve eventi dai sistemi di monitoraggio, li abbina a regole di instradamento e invia notifiche ai responsabili di turno o ai team. Il sistema implementa programmi di turni, rotazioni, ridefinizioni, conferma di ricezione degli incidenti, cambiamento dello stato dell'incidente in risolto, promemoria, escalation e silenzi per sopprimere attivazioni note o pianificate.
Supporto per la ricezione di eventi da Prometheus Alertmanager, Zabbix e webhook personalizzati. I canali per l'invio delle notifiche includono Mattermost, Telegram, email, webhook e fornitori vocali. Su Mattermost e Telegram, le notifiche possono contenere azioni per la conferma e la risoluzione del problema, consentendo di gestire l'incidente senza dover accedere a un'interfaccia separata.
IncidentRelay prevede un modello di separazione degli accessi per gruppi e squadre. Ciò consente di limitare la visibilità di programmi, percorsi, canali di notifica e avvisi tra diverse squadre. Un'API HTTP è disponibile per l'automazione, mentre per le integrazioni si utilizzano bearer tokens e route tokens.
Il progetto può essere utilizzato come uno strato intermedio tra i sistemi di monitoraggio e i canali di notifica: Alertmanager o Zabbix invia un evento a IncidentRelay, che determina il team, il turno attuale, applica le regole di instradamento e invia la notifica al canale corretto. Per gli incidenti non confermati possono essere programmati promemoria e escalation per il prossimo membro della rotazione.


Fonte: opennet.ru
