Vydání IncidentRelay 2.0, systému pro organizaci služeb a směrování výstrah

IncidentRelay 2.0, open-source systém pro správu pohotovostí, směrování upozornění a reakci na incidenty, byl vydán. Lze jej nasadit na server hostovaný samostatně. Projekt je zaměřen na SRE, DevOps a infrastrukturní týmy, které hledají lokální alternativu ke cloudovým platformám pro správu pohotovostí. Kód je napsán v Pythonu a distribuován pod licencí MIT.

IncidentRelay přijímá události z Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch, Datadog, Uptime Kuma a vlastních obslužných rutin webhook. Po normalizaci je událost přiřazena ke službě, týmu a rotaci, použijí se pravidla směrování a zásady eskalace a aktuálně vykonávajícímu obslužnému programu je odesláno oznámení. Mezi podporované metody doručování patří Mattermost, Slack, Telegram, Discord, Microsoft Teams, e-mail, webhook, push zprávy z prohlížeče/PWA a poskytovatelé hlasových hovorů.

Hlavní inovací ve verzi 2.0 je mechanismus orchestrace událostí, který poskytuje samostatnou vrstvu zpracování událostí mezi příchozími integracemi a životním cyklem upozornění. Mezi klíčové změny patří:

  • Byl přidán vizuální editor pravidel orchestrace. Pravidla lze aplikovat globálně nebo na konkrétní službu, seskupit do vnořených skupin podmínek a postupně upravovat z hlediska priority, úrovně závažnosti, popisků, příkazu, trasy, metody seskupení, zásad oznámení a eskalace.
  • Implementovány akce pro potlačení, zahození a pozastavení zpracování událostí, extrakci hodnot pomocí regulárních výrazů a JSON Path, rozdělení řetězců, vytváření proměnných a převod hodnot;
  • Konfigurace orchestrace je rozdělena na upravitelné koncepty a neměnné publikované verze. Podporována je kontrola konfigurace, publikování, návrat k předchozí verzi a přidávání komentářů ke změnám.
  • K dispozici jsou režimy Disabled, Shadow a Active. Ve stínovém režimu se výsledky provádění pravidel ukládají pro analýzu, ale neovlivňují skutečné směrování. Po přechodné období jsou k dispozici režimy Legacy, hybrid a orchestrační kompatibility.
  • Byly přidány nástroje pro simulaci a přehrávání událostí. Ty umožňují testovat pravidla na normalizované události nebo původní integrační datové části bez generování skutečného upozornění. Pro analýzu výsledků jsou k dispozici trasování provádění, vysvětlující data a metriky stínové synchronizace.
  • Jsou implementovány opakovaně použitelné akce webhooku, které se po zpracování událostí provádějí asynchronně. Hlavičky jsou uloženy šifrovaně, tajné údaje jsou skryty v API a protokolech a přístup k privátním sítím je ve výchozím nastavení zakázán. Lze nakonfigurovat časové limity, opakované pokusy a seznam povolených interních adres.
  • Přidána integrace s Uptime Kuma, která přijímá standardní zprávy webhooku o stavu monitoru. Byla implementována normalizace stavu Up a Down, detekce důležitosti, zpracování tagů a nový typ příchozí trasy uptime_kuma.
  • K umlčením a naplánovaným pracovním oknům byly přidány parametry apply_to_existing a reactivate_on_end. První aplikuje potlačení na již otevřené upozornění, zatímco druhý určuje, zda se má jejich zpracování obnovit po skončení období potlačení. Oznámení, připomenutí a eskalační řetězce jsou pozastaveny a obnoveny;
  • Pro osobní tokeny API byla zavedena samostatná oprávnění pro čtení a úpravy pro skupiny, týmy, uživatele, trasy, kanály, služby, rotace, zásady, okna údržby, kontroly prezenčního signálu, jednotné přihlašování (SSO) a orchestrace. Stará agregovaná oprávnění resources:read, resources:write a * byla zachována z důvodu zpětné kompatibility.
  • Bylo přidáno rozhraní pro auditní protokol s filtrováním a stránkováním. Protokol zaznamenává operace zahrnující orchestrace, webhooky, umlčení a naplánovaná pracovní okna, přičemž ze zobrazených dat byly odstraněny citlivé hodnoty.
  • Webové rozhraní nyní obsahuje tmavé téma a uživatelem definovaná nastavení jazyka a designu. Byla přidána francouzská lokalizace, rozšířeny překlady pro sekce orchestrace a údržby a vylepšena úprava pravidel pro párování skupin SSO.
  • Vylepšené kontroly prezenčního signálu: eliminováno opakované vytváření událostí po splatnosti, obnovení signálu správně ukončí upozornění a odešle oznámení o vyřešení problému a standardizováno je zobrazení časových razítek.
  • Byla připravena dokumentace pro nasazení Kubernetes pomocí Helmu. Do Helm grafu byl přidán specializovaný obslužný program pro režim Slack Socket, který je nezbytný pro interaktivní tlačítka pro potvrzení a uzavření incidentů.
  • Posílili jsme zabezpečení odchozích HTTP požadavků, regulárních výrazů a citlivých dat, centralizovali jsme zpracování UTC a časových pásem, přepracovali výpočty harmonogramu rotace a rozšířili automatizované testování.

Před upgradem se doporučuje vytvořit zálohu databáze. Potřebné změny schématu se provedou pomocí vestavěného migračního mechanismu IncidentRelay. Pro postupnou implementaci orchestrace událostí vývojáři doporučují nejprve použít stínový a hybridní režim, ověřit trasování provádění pravidel a teprve poté přepnout orchestraci do aktivního režimu.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster