Efter fem mÄnaders utveckling har version 1.1 av projektet IncidentRelay publicerats. Den utvecklar ett öppet system för att organisera vaktarbete, routa aviseringar och hantera incidenter, vilket körs pÄ egen server (self-hosted). IncidentRelay 1.1 har markerats som den första stabila versionen (gren 1.0 hade beta-status). Projektet Àr riktat mot SRE, DevOps och infrastrukturteam som behöver en lokalt distribuerbar alternativ till SaaS-tjÀnster för hantering av vaktarbete (on-call management), tillÀmpning av eskaleringspolicyer och reaktion pÄ incidenter. Projektets kod Àr skriven i Python och distribueras under MIT-licensen.
IncidentRelay mottar hÀndelser frÄn övervakningssystem och matchar dem med tjÀnster, team och rotationer, och levererar sedan aviseringar till ansvariga vakter eller team. Systemet har scheman för vakter, rotationer, omprioriteringar av skift, bekrÀftelse av mottagande av incidenter, ACK/Resolve-statusar, pÄminnelser, eskaleringar, tidsbegrÀnsade ersÀttningar av vakter, bestÀmning av tid för planerat arbete och undertryckning av bullriga aviseringar.
Det frÀmsta fördelarna med projektet Àr fullstÀndig kontroll över infrastrukturen och logiken för routing. IncidentRelay körs i sin egen miljö, arbetar med sin egen databas och möjliggör en tydlig separation av inkommande rutter, team, rotationer och leveranskanaler. Inkommande token tillhör rutterna, och inte kanalerna, vilket gör det lÀttare att förstÄ vilken extern kÀlla som har rÀtt att skicka hÀndelser till ett specifikt team.
IncidentRelay stödjer mottagande av hÀndelser frÄn Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch och godtyckliga webhooks. För att skicka aviseringar finns det kanaler som Mattermost, Slack, Telegram, Discord, Microsoft Teams, e-post, webhooks, browser/PWA push och leverantörer av röstuppringningar. I Mattermost och Telegram kan aviseringarna innehÄlla ÄtgÀrder för att bekrÀfta och lösa problem, vilket möjliggör hantering av incidenter utan att gÄ till ett separat grÀnssnitt.
Projektet kan köras via Docker Compose, RPM-paket för Red Hat-liknande distributioner, manuellt via systemd, samt i Kubernetes med hjÀlp av Helm-diagram. För smÄ installationer kan SQLite anvÀndas, medan PostgreSQL rekommenderas för produktionssystem och högre belastningar.
I den nya versionen föreslÄs följande Àndringar:
- Flera nivÄer av jourrotationer har lagts till med tidsbegrÀnsningar, prioriteringar av lager och hÀnsyn till tillfÀlliga ersÀttningar;
- Det har införts en jourkalender, CalDAV och ICS-prenumerationer för externa kalendrar;
- Incidenteskalationspolicyer med flerstegs kedjor för nivÄhöjning har implementerats;
- Varningsgrupper, hÀndelsegruppering, fördröjda meddelanden och manuell sammanslagning av relaterade varningar har lagts till;
- Fönster för planerade arbeten och 'tysta' varningar har införts;
- Möjligheten att lÀgga till kommentarer till varningar har lagts till;
- Incidentprioriteringar (P1-P5) och automatisk prioriteringshöjning baserat pÄ vikten har lagts till;
- TjÀnstekatalog, tjÀnstberoenden, SLI/SLO, historik över pÄverkan pÄ systemens funktion (Service Impact History) och affÀrstjÀnster (Business Services) har implementerats;
- Explain Trace har lagts till för att analysera routing: varför en varning kom in eller inte kom in i teamet, grupperades, tystades eller skickades till en specifik kanal;
- Kontroller (Heartbeats/dead-man-switch) för watchdog, backup, ETL och andra uppgifter dÀr avsaknaden av förvÀntad signal Àr ett problem har lagts till.


KĂ€lla: opennet.ru
