Udgivelse af IncidentRelay 2.0, et system til organisering af vagt og routing af alarmer

IncidentRelay 2.0, et open source-system til administration af vagter, alarmrouting og incidentrespons, er blevet udgivet. Det kan implementeres på en selvhostet server. Projektet er rettet mod SRE'er, DevOps og infrastrukturteams, der søger et lokalt alternativ til cloudbaserede platforme til administration af vagter. Koden er skrevet i Python og distribueret under MIT-licensen.

IncidentRelay accepterer hændelser fra Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch, Datadog, Uptime Kuma og brugerdefinerede webhook-handlere. Efter normalisering knyttes hændelsen til en tjeneste, et team og en rotation, routingregler og eskaleringspolitikker anvendes, og en besked sendes til den aktuelle handler på vagt. Understøttede leveringsmetoder omfatter Mattermost, Slack, Telegram, Discord, Microsoft Teams, e-mail, webhook, browser/PWA push og taleopkaldsudbydere.

Den primære innovation i version 2.0 er Event Orchestration-mekanismen, som giver et separat lag til hændelsesbehandling mellem indgående integrationer og alarmlivscyklussen. De vigtigste ændringer omfatter:

  • En visuel editor til orkestreringsregler er blevet tilføjet. Regler kan anvendes globalt eller på en specifik tjeneste, grupperes i indlejrede betingelsesgrupper og sekventielt ændres for prioritet, alvorlighedsniveau, etiketter, kommando, rute, grupperingsmetode, notifikationspolitikker og eskalering.
  • Implementerede handlinger til at undertrykke, kassere og sætte begivenhedsbehandling på pause, udtrække værdier ved hjælp af regulære udtryk og JSON Path, opdele strenge, oprette variabler og konvertere værdier;
  • Orkestreringskonfigurationen er opdelt i redigerbare kladder og uændrede publicerede versioner. Konfigurationsgennemgang, publicering, tilbagevenden til en tidligere version og tilføjelse af kommentarer til ændringer understøttes;
  • Deaktiverede, skygge- og aktive tilstande er tilgængelige. I skyggetilstand gemmes regeludførelsesresultater til analyse, men påvirker ikke den faktiske routing. Ældre, hybride og orkestrerings-kompatibilitetstilstande er tilgængelige i en overgangsperiode.
  • Værktøjer til hændelsessimulering og afspilning er blevet tilføjet. Disse giver dig mulighed for at teste regler på en normaliseret hændelse eller den oprindelige integrationsnyttelast uden at generere en reel alarm. Udførelsesspor, forklaringsdata og skyggetilstandsmålinger leveres til analyse af resultater.
  • Genanvendelige webhook-handlinger implementeres og udføres asynkront efter hændelsesbehandling. Headere gemmes krypteret, hemmeligheder skjules i API'en og logfilerne, og adgang til private netværk er som standard forbudt. Timeouts, genforsøg og en liste over tilladte interne adresser kan konfigureres.
  • Tilføjet integration med Uptime Kuma, som accepterer standard webhook-meddelelser om monitorstatus. Normalisering af status for op og ned, vigtighedsdetektion, tagbehandling og en ny indgående rutetype, uptime_kuma, er blevet implementeret.
  • Parametrene apply_to_existing og reactivate_on_end er blevet tilføjet til tavshedsregler og planlagte arbejdsvinduer. Den første anvender undertrykkelse på allerede åbne advarsler, mens den anden bestemmer, om behandlingen af ​​dem skal genoptages, når undertrykkelsesperioden er afsluttet. Notifikationer, påmindelser og eskaleringskæder sættes på pause og gendannes;
  • For personlige API-tokens er der introduceret separate læse- og redigeringstilladelser for grupper, teams, brugere, ruter, kanaler, tjenester, rotationer, politikker, vedligeholdelsesvinduer, pulskontrol, SSO og orkestrering. De gamle aggregerede tilladelser resources:read, resources:write og * er bevaret af hensyn til bagudkompatibilitet.
  • En auditloggrænseflade med filtrering og paginering er blevet tilføjet. Loggen registrerer operationer, der involverer orkestrering, webhooks, tavsheder og planlagte arbejdsvinduer, hvor følsomme værdier er fjernet fra de viste data.
  • Webgrænsefladen har nu et mørkt tema og brugerdefinerede sprog- og designindstillinger. Fransk lokalisering er blevet tilføjet, oversættelser til orkestrerings- og vedligeholdelsessektionerne er blevet udvidet, og redigeringen af ​​SSO-gruppematchningsregler er blevet forbedret.
  • Forbedrede pulsmålinger: elimineret gentagen oprettelse af forsinkede hændelser, signalgendannelse lukker alarmen korrekt og sender en besked om, at problemet er løst, og præsentationen af ​​tidsstempler er blevet standardiseret;
  • Dokumentation til Kubernetes-implementering ved hjælp af Helm er blevet udarbejdet. En dedikeret Slack Socket Mode-handler er blevet tilføjet til Helm-diagrammet, hvilket er nødvendigt for de interaktive bekræftelses- og lukningsknapper for hændelser.
  • Vi har styrket sikkerheden for udgående HTTP-anmodninger, regulære udtryk og følsomme data, centraliseret håndtering af UTC og tidszoner, omarbejdet rotationsplanberegninger og udvidet automatiseret testdækning.

Før opgradering anbefales det at oprette en sikkerhedskopi af databasen. De nødvendige skemaændringer udføres ved hjælp af IncidentRelays indbyggede migreringsmekanisme. For en gradvis implementering af Event Orchestration anbefaler udviklerne først at bruge skygge- og hybridtilstande, verificere regeludførelsesspor og først derefter skifte orkestrering til aktiv tilstand.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster