Uitgave van IncidentRelay 2.0, een systeem voor het organiseren van diensten en het routeren van meldingen

De release van IncidentRelay 2.0 is gepubliceerd, een open systeem voor het organiseren van wachtbeurten, het routeren van meldingen en het beheren van incidenten, dat op een eigen server kan worden gedraaid (self-hosted). Het project richt zich op SRE-, DevOps- en infrastructuurteams die een lokale alternatieve behoefte hebben aan cloudplatforms voor het beheer van wachtdiensten. De code is geschreven in Python en wordt verspreid onder de MIT-licentie.

IncidentRelay accepteert gebeurtenissen van Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch, Datadog, Uptime Kuma en willekeurige webhook-implementaties. Na normalisatie wordt de gebeurtenis gekoppeld aan een dienst, team en rotatie, waarna routeringsregels en escalatiebeleid worden toegepast en de melding naar de huidige waarnemer wordt gestuurd. Voor levering worden Mattermost, Slack, Telegram, Discord, Microsoft Teams, e-mail, webhook, browser/PWA push en leveranciers van spraakoproepen ondersteund.

De belangrijkste innovatie van versie 2.0 is het Mechanisme voor Evenementenorkestratie, dat een aparte laag voor de verwerking van gebeurtenissen biedt tussen binnenkomende integraties en de levenscyclus van een waarschuwing. Hoofdwijzigingen:

  • Een visuele editor voor orkestraatieregels is toegevoegd. Regels kunnen globaal of voor een specifieke dienst worden toegepast, worden gegroepeerd in geneste voorwaarden en kunnen de prioriteit, ernst, labels, team, route, groepsmethode, meldings- en escalatiebeleid sequentieel wijzigen;
  • Acties voor het onderdrukken, afwijzen en pauzeren van de verwerking van gebeurtenissen zijn geïmplementeerd, evenals het extraheren van waarden met behulp van reguliere expressies en JSON Path, het splitsen van strings, het creëren van variabelen en het omzetten van waarden;
  • De configuratie van de orkestratie is verdeeld in bewerkbare concepten en onveranderlijke gepubliceerde versies. Er zijn controles voor configuratie, publicatie, terugzetten naar een vorige versie en het toevoegen van opmerkingen bij wijzigingen ondersteund;
  • Er zijn modes voorzien zoals disabled, shadow en active. In de shadow-modus worden de resultaten van de uitvoering van regels bewaard voor analyse, maar beïnvloeden ze de daadwerkelijke routering niet. Voor de overgangsperiode zijn de compatibiliteitsmodi legacy, hybrid en orchestration beschikbaar;
  • Simulatie- en replay-tools zijn toegevoegd. Hiermee kunnen regels worden getest op genormaliseerde evenementen of de oorspronkelijke payload van de integratie zonder dat een echte waarschuwing hoeft te worden aangemaakt. Voor het analyseren van de resultaten zijn er uitvoeringslogboeken, Explain-gegevens en shadow-mode statistieken beschikbaar.
  • Herbruikbare webhook-acties zijn geïmplementeerd, die asynchroon worden uitgevoerd na de verwerking van een evenement. Headers worden versleuteld opgeslagen, geheimen worden verborgen in de API en logs, en toegang tot particuliere netwerken is standaard verboden. Time-outs, herhalingen en een lijst van toegestane interne adressen kunnen worden ingesteld.
  • Integratie met Uptime Kuma is toegevoegd, die standaard webhook-berichten over de status van monitors accepteert. Normalisatie van UP- en DOWN-statussen, het bepalen van belangrijkheid, het verwerken van tags en een nieuw type inkomende route uptime_kuma zijn geïmplementeerd.
  • Voor silences en geplande onderhoudsvensters zijn de parameters apply_to_existing en reactivate_on_end toegevoegd. De eerste maakt het mogelijk om suppressie toe te passen op reeds openstaande waarschuwingen, terwijl de tweede bepaalt of hun verwerking moet worden hervat na afloop van de suppressieperiode. Meldingen, herinneringen en escalatieketens worden gepauzeerd en hersteld.
  • Voor persoonlijke API-tokens zijn gescheiden lees- en wijzigingsrechten voor groepen, teams, gebruikers, routes, kanalen, services, rotaties, beleidsregels, onderhoudsvensters, heartbeat-controles, SSO en orkestraties geïntroduceerd. Oude geaggregeerde rechten resources:read, resources:write en * zijn behouden voor achterwaartse compatibiliteit.
  • Een auditlog-interface is toegevoegd met filtering en paginering. In de log worden de bewerkingen met orkestraties, webhook-acties, silences en onderhoudsvensters vastgelegd, terwijl gevoelige waarden uit de weergegeven gegevens worden verwijderd.
  • De webinterface heeft een donkere modus en gebruikersinstellingen voor taal en thema gekregen. Franse lokalisatie is toegevoegd, de vertalingen van de secties orkestratie en onderhoud zijn uitgebreid, en het bewerken van SSO-groepsregels is gecorrigeerd.
  • De werking van heartbeat-controles is verbeterd: het opnieuw aanmaken van verlengingswaarschuwingen is uitgesloten, het herstellen van het signaal sluit de waarschuwing correct af en stuurt een melding over de oplossing van het probleem, en de weergave van tijdstempels is gestandaardiseerd.
  • Er is documentatie voorbereid voor de implementatie in Kubernetes met behulp van Helm. In de Helm-chart is een aparte handler voor Slack Socket Mode toegevoegd, noodzakelijk voor de werking van interactieve bevestigingsknoppen en het sluiten van incidenten;
  • De bescherming van uitgaande HTTP-verzoeken, reguliere expressies en vertrouwelijke gegevens is versterkt, terwijl de verwerking van UTC en tijdzones is gecentraliseerd, de berekeningen van rotatieschema's zijn herzien en de dekking is uitgebreid met automatische tests.

Voor de update wordt aangeraden een back-up van de database te maken. De vereiste schemawijzigingen worden uitgevoerd via het standaard migratiemechanisme van IncidentRelay. Voor een geleidelijke implementatie van Event Orchestration raden ontwikkelaars aan eerst de shadow- en hybridmodi te gebruiken, de tracering van regeluitvoeringen te controleren en pas daarna de orkestratie naar de actieve modus te schakelen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster