Выпуск IncidentRelay 2.0, сістэмы для арганізацыі дзяжурстваў і маршрутызацыі абвестак

Апублікаваны выпуск праекта IncidentRelay 2.0, які развівае адкрытую сістэму для арганізацыі дзяжурстваў, маршрутызацыі абвестак і суправаджэння інцыдэнтаў, якая разгортваецца на ўласным серверы (self-hosted). Праект арыентаваны на SRE, DevOps і інфраструктурныя каманды, якім патрабуецца лакальная альтэрнатыва хмарным платформам кіравання дзяжурствамі. Код напісаны на Python і распаўсюджваецца пад ліцэнзіяй MIT.

IncidentRelay прымае падзеі з Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch, Datadog, Uptime Kuma і адвольных webhook-апрацоўшчыкаў. Пасля нармалізацыі падзея звязваецца з сэрвісам, камандай і ратацыяй, да яе прымяняюцца правілы маршрутызацыі і палітыкі эскалацыі, пасля чаго апавяшчэнне накіроўваецца бягучаму дзяжурнаму. Для дастаўкі падтрымліваюцца Mattermost, Slack, Telegram, Discord, Microsoft Teams, e-mail, webhook, browser/PWA push і правайдэры галасавых выклікаў.

Галоўнай навінай версіі 2.0 стаў механізм Event Orchestration, які прадстаўляе асобны пласт апрацоўкі падзей паміж уваходнымі інтэграцыямі і жыццёвым цыклам алерта. Асноўныя змены:

  • Дададзены візуальны рэдактар ​​правіл аркестрацыі. Правілы могуць прымяняцца глабальна або да асобнага сэрвісу, аб'ядноўвацца ва ўкладзеныя групы ўмоў і паслядоўна змяняць прыярытэт, узровень важнасці, пазнакі, каманду, маршрут, спосаб групоўкі, палітыкі апавяшчэнняў і эскалацыі;
  • Рэалізаваны дзеянні для падаўлення, адкідвання і прыпынення апрацоўкі падзей, здабывання значэнняў пры дапамозе рэгулярных выразаў і JSON Path, падзелу радкоў, стварэння зменных і пераўтварэнні значэнняў;
  • Канфігурацыя аркестрацыі падзелена на рэдагуемыя чарнавікі і нязменныя апублікаваныя версіі. Падтрымліваюцца праверка канфігурацыі, публікацыя, адкат на папярэднюю версію і даданне каментароў да змен;
  • Прадугледжаны рэжымы disabled, shadow і active. У рэжыме shadow вынікі выканання правіл захоўваюцца для аналізу, але не ўплываюць на рэальную маршрутызацыю. Для пераходнага перыяду даступныя рэжымы сумяшчальнасці legacy, hybrid і orchestration;
  • Дададзеныя сродкі сімуляцыі і паўторнага ўзнаўлення падзей. Яны дазваляюць праверыць правілы на нармалізаваным падзеі або зыходным payload інтэграцыі без стварэння рэальнага алерта. Для аналізу вынікаў прадастаўляюцца трасіроўка выканання, Explain-дадзеныя і метрыкі ценявога рэжыму;
  • Рэалізаваны перавыкарыстоўваемыя webhook-дзеянні, якія выконваюцца асінхронна пасля апрацоўкі падзеі. Загалоўкі захоўваюцца ў зашыфраваным выглядзе, сакрэты хаваюцца ў API і часопісах, а звароты да прыватных сетак па змаўчанні забароненыя. Можна наладзіць тайм-аўты, паўторныя спробы і спіс дазволеных унутраных адрасоў;
  • Дададзена інтэграцыя з Uptime Kuma, якая прымае стандартныя webhook-паведамленні аб стане манітораў. Рэалізаваны нармалізацыя станаў UP і DOWN, вызначэнне важнасці, апрацоўка тэгаў і новы тып уваходнага маршруту uptime_kuma;
  • Для silences і вокнаў планавых прац з'явіліся параметры apply_to_existing і reactivate_on_end. Першы дазваляе ўжыць прыгнечанне да ўжо адчыненых алертаў, а другі вызначае, ці варта аднавіць іх апрацоўку пасля завяршэння перыяду прыгнечання. Прыпыняюцца і аднаўляюцца апавяшчэнні, напамінкі і ланцужкі эскалацыі;
  • Для персанальных API-токенаў уведзены паасобныя правы чытання і змены груп, каманд, карыстачоў, маршрутаў, каналаў, сэрвісаў, ратацый, палітык, вокнаў абслугоўвання, heartbeat-праверак, SSO і аркестрацый. Старыя агрэгаваныя правы resources:read, resources:write і * захаваны для зваротнай сумяшчальнасці;
  • Дададзены інтэрфейс часопіса аўдыту з фільтраваннем і пастаронкавым высновай. У часопісе фіксуюцца аперацыі з аркестрацыямі, webhook-дзеяннямі, silences і вокнамі планавых работ, пры гэтым канфідэнцыйныя значэнні выдаляюцца з паказу дадзеных;
  • У web-інтэрфейсе з'явілася цёмная тэма і прыстасаваныя наладкі мовы і афармленні. Дададзена французская лакалізацыя, пашыраны пераклады раздзелаў аркестрацыі і абслугоўвання, выпраўлена рэдагаванне правіл супастаўлення груп SSO;
  • Палепшана праца heartbeat-праверак: выключана паўторнае стварэнне падзей аб пратэрміноўцы, аднаўленне сігналу карэктна закрывае алерт і адпраўляе апавяшчэнне аб рашэнні праблемы, уніфікавана прадстаўленне часавых пазнак;
  • Падрыхтавана дакументацыя па разгортванні ў Kubernetes пры дапамозе Helm. У Helm-чарт дададзены асобны апрацоўшчык Slack Socket Mode, неабходны для працы інтэрактыўных кнопак пацверджання і зачыненні інцыдэнтаў;
  • Узмоцнена абарона выходных HTTP-запытаў, рэгулярных выразаў і канфідэнцыйных дадзеных, цэнтралізавана апрацоўка UTC і гадзінных паясоў, перапрацаваны вылічэнні раскладаў ратацый і пашырана пакрыццё аўтаматычнымі тэстамі.

Перад абнаўленнем рэкамендуецца стварыць рэзервовую копію базы даных. Неабходныя змены схемы выконваюцца штатным механізмам міграцый IncidentRelay. Для паступовага ўкаранення Event Orchestration распрацоўнікі рэкамендуюць спачатку выкарыстоўваць рэжымы shadow і hybrid, праверыць трасіроўкі выканання правіл і толькі пасля гэтага перамыкаць аркестрацыю ў рэжым active.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster