Proiectul IncidentRelay a fost publicat, dezvoltând un sistem deschis pentru organizarea serviciilor de gardă, rutarea notificărilor și gestionarea incidentelor, care poate fi rulat pe servere proprii (self-hosted). Proiectul este destinat echipelor SRE, DevOps și infrastructurii, care au nevoie de o alternativă pentru SaaS pentru gestionarea serviciilor de gardă (on-call management), aplicarea politicilor de escaladare și reacția la incidente. Codul proiectului este scris în Python și este distribuit sub licența MIT.
IncidentRelay primește evenimente din sistemele de monitorizare, le corelează cu regulile de rutare și livrează notificări responsabililor de gardă sau echipelor. Sistemul implementează programe pentru serviciul de gardă, rotații, modificări ale schimburilor, confirmarea primirii unui incident, trecerea incidentului în resolved, memento-uri, escaladări și silenții pentru a suprima declanșările cunoscute sau planificate.
Se suportă primirea evenimentelor din Prometheus Alertmanager, Zabbix și webhook-uri arbitrare. Pentru trimiterea notificărilor sunt prevăzute canale Mattermost, Telegram, email, webhook și furnizori vocali. În Mattermost și Telegram, notificările pot conține acțiuni pentru confirmarea și rezolvarea problemei, ceea ce permite gestionarea incidentului fără a trece la o altă interfață.
În IncidentRelay este prevăzut un model de separare a accesului pe grupuri și echipe. Acest lucru permite delimitarea vizibilității programelor, rutelor, canalelor de notificare și alertele între diferite echipe. Pentru automatizare există un API HTTP, iar pentru integrări se folosesc bearer-token-uri și route-token-uri.
Proiectul poate fi folosit ca un strat intermediar între sistemele de monitorizare și canalele de notificare: Alertmanager sau Zabbix trimite un eveniment în IncidentRelay, după care sistemul determină echipa, responsabilul de gardă curent și aplică regulile de rutare, trimițând notificarea în canalul corespunzător. Pentru incidentele neconfirmate pot fi executate memento-uri repetate și escaladări către următorul membru al rotației.


Sursa: opennet.ro
