經過五個月的開發,IncidentRelay 1.1 正式發布。它是一個開源系統,用於值班管理、警告路由和事件回應,運行於自託管伺服器上。 IncidentRelay 1.1 是首個穩定版本(1.0 分支為 beta 版)。該專案面向 SRE、DevOps 和基礎設施團隊,旨在為他們提供本地部署的值班管理、升級策略和事件回應的替代方案,以取代 SaaS 服務。專案程式碼使用 Python 編寫,並以 MIT 許可證發布。
IncidentRelay 系統接收來自監控系統的事件,將其與服務、團隊和輪班安排進行匹配,然後將通知發送給負責的值班人員或團隊。該系統實現了值班表、輪班安排、班次變更、事件確認、ACK/解決狀態、提醒、升級、臨時值班人員替換、計劃維護時間和警報抑制等功能。
該專案的主要優勢在於對基礎設施和路由邏輯的完全控制。 IncidentRelay 部署在獨立的環境中,使用獨立的資料庫,並允許對傳入路由、命令、輪換和交付管道進行明確分離。傳入的令牌屬於路由,而非管道,這使得理解哪個外部來源有權向特定命令發送事件變得更加容易。
IncidentRelay 支援接收來自 Prometheus Alertmanager、Grafana Alerting、Zabbix、Sentry、LibreNMS、RMON、AWS SNS/CloudWatch 以及自訂 Webhook 的事件。通知可以透過 Mattermost、Slack、Telegram、Discord、Microsoft Teams、電子郵件、Webhook、瀏覽器/PWA 推播以及語音通話提供者發送。在 Mattermost 和 Telegram 中,通知可以包含確認和解決問題的操作,從而無需切換到單獨的介面即可處理事件。
此專案可透過 Docker Compose(適用於 Red Hat 等發行版的 RPM 套件)、systemd 手動運行,或在 Kubernetes 中使用 Helm chart 運行。小型安裝可以使用 SQLite,而生產環境和高負載場景建議使用 PostgreSQL。
新版本提出了以下更改:
- 增加了多級值班輪調制度,並設定了時間限制、層級優先級,以及考慮臨時替補人員;
- 已出現值班日曆、CalDAV 和 ICS 外部日曆訂閱;
- 實施了包含多步驟升級鏈的事件升級策略;
- 新增警報組、事件分組、延遲通知和相關警報手動合併功能;
- 已出現用於計劃工作和「靜默」警報的視窗;
- 增加了在提醒中加入評論的功能;
- 增加了事件優先級(P1-P5)和基於重要性的自動優先升級;
- 實現了服務目錄、服務依賴關係、SLI/SLO、服務影響歷史記錄和業務服務;
- 新增了「解釋追蹤」功能,用於分析路由:解釋為什麼警報包含在命令中或未包含在命令中、被分組、被抑製或被發送到特定通道;
- 為看門狗、備份、ETL 和其他任務添加了檢查(心跳/死人開關),這些任務的問題是缺少預期信號。


來源: opennet.ru
