KeepHQ:開源 AIOps 平臺,簡化 DevOps 報警管理
Keep 是第一個開源 AIOps 平臺,填補了現(xiàn)有監(jiān)控工具(如 Grafana 和 Prometheus)在 AIOps 能力上的空白。它特別適合小型團隊,因為傳統(tǒng)企業(yè)工具成本高、維護復(fù)雜,而 Keep 提供企業(yè)級功能(如擴展性、SSO)的同時,保持對小型團隊的友好性。它利用大型語言模型(LLM)時代的進步,將 AI 無縫集成到運維中。
部署靈活性是 Keep 的亮點,支持本地、Kubernetes、AWS ECS 和 OpenShift 等多種環(huán)境。用戶可以通過 helm install 或 docker-compose 一鍵啟動,快速探索其功能,適合初學(xué)者和經(jīng)驗豐富的團隊。
關(guān)鍵功能和能力
Keep 的設(shè)計理念是易于開始、易于擴展、易于協(xié)作,具體功能包括:
- 易于開始:提供一鍵安裝選項,如 helm install 和 docker-compose,支持本地或 Kubernetes 部署,降低入門門檻。
- 易于擴展:其架構(gòu)基于 Python 實現(xiàn),易于增強和定制,支持添加新集成,目前已有 110 多個提供者,涵蓋工具如 Prometheus、CloudWatch 和 Datadog。
- 易于部署:作為代碼提供,支持 CI/CD 管道集成,適合云、內(nèi)部部署或隔離環(huán)境,滿足不同安全和合規(guī)需求。
- 易于協(xié)作:作為開源項目,GitHub 上已有 9200 顆星,700 名社區(qū)成員活躍參與,通過 Slack 社區(qū)(Slack 社區(qū))提供支持,鼓勵用戶反饋融入開發(fā)。
此外,Keep 提供沙盒環(huán)境如 Playground,用戶可以在此探索功能、配置和 AIOps 技術(shù);Platform 則用于租戶配置,確保團隊能測試和優(yōu)化策略。
使用案例和集成
Keep 解決多個 IT 操作挑戰(zhàn),具體如下表所示:
- 集中警報管理:將多個 Prometheus 實例和按地區(qū)/賬戶的 CloudWatch 設(shè)置的警報集中到一個儀表板,供審查、節(jié)流和微調(diào)。
- 警報豐富:通過觀測工具、數(shù)據(jù)庫和工單系統(tǒng)(如 Jira、ServiceNow)提供上下文,包括企業(yè)特定觸發(fā)器和客戶影響細(xì)節(jié),便于決策。
- 自動化警報響應(yīng):自動化常見警報響應(yīng),如確認(rèn)端點 502 錯誤或檢查低優(yōu)先級客戶影響前不升級。
- 多環(huán)境監(jiān)控:跨 staging、生產(chǎn)和測試環(huán)境集中警報,設(shè)置環(huán)境特定規(guī)則,提供統(tǒng)一系統(tǒng)健康視圖。
- 噪音減少:通過去重、節(jié)流和靜音減少噪音,確保團隊只關(guān)注關(guān)鍵問題。
- SLA 合規(guī)性:跟蹤警報解決時間,確保 SLA 合規(guī)性,配備自動化和報告功能。
- 事件關(guān)聯(lián):使用工作流和映射規(guī)則關(guān)聯(lián)相關(guān)警報,快速識別根本原因,提供分組可操作見解。
- 工單系統(tǒng)集成:與 Jira 和 ServiceNow 等工單工具同步,自動化工單創(chuàng)建和更新,確保無縫工作流。
集成方面,Keep 支持超過 110 個提供者,通過 Webhook、路由策略或 API 與工具如 Zabbix、Nagios 連接。2023 年 Grafana 調(diào)查顯示,52% 的公司使用 6 種以上觀測工具,Keep 的多工具集成能力尤為重要(Grafana 調(diào)查:https://grafana.com/observability-survey-2023/)。
開發(fā)者友好
Keep 強調(diào)開發(fā)者優(yōu)先,提供現(xiàn)代 REST API、本地 SDK 和全面文檔,便于與現(xiàn)有堆棧集成。其 API 優(yōu)先設(shè)計確保所有 UI 操作均可通過 API 完成,支持警報補救和豐富的自動化。企業(yè)安全功能包括完整身份驗證支持(如 SSO、SAML、OIDC、LDAP),以及細(xì)粒度的訪問控制(RBAC、ABAC)和團隊管理,適合生產(chǎn)規(guī)模工作負(fù)載,支持高可用性和水平擴展。
用戶反饋顯示,Keep 被比作監(jiān)控領(lǐng)域的 n8n.io,與 StackStorm 相比,Keep 提供更簡單的 UI 和更緊密的監(jiān)控工具 API 集成。社區(qū)還建議添加功能如抖動檢測(flap detection)和自動補救,目前節(jié)流策略已可用,抖動檢測計劃中。
工作流
Keep 是監(jiān)控工具的 GitHub Actions。
Keep 工作流是一個聲明式的 YAML 文件,用于自動化您的警報和事件管理。每個工作流包含:
- 觸發(fā)器 - 啟動工作流的條件(警報、事件、計劃或手動)
- 步驟 - 讀取或獲取數(shù)據(jù)(豐富、上下文)
- 操作 - 執(zhí)行操作(更新工單、發(fā)送通知、重啟服務(wù)器)
以下是一個簡單的工作流示例,它為來自 Sentry 的支付和 API 服務(wù)的關(guān)鍵警報創(chuàng)建 Jira 工單。
workflow:
id:sentry-alerts
description:createticketalertsforcriticalalertsfromsentry
triggers:
-type:alert
# customize the filter to run only on critical alert from sentry
filters:
-key:source
value:sentry
-key:severity
value:critical
# regex to match specific services
-key:service
value:r"(payments|ftp)"
actions:
-name:send-slack-message-team-payments
# if the alert is on the payments service, slack the payments team
if:"'{{ alert.service }}' == 'payments'"
provider:
type:slack
# control which Slack configuration you want to use
config:" {{ providers.team-payments-slack }} "
# customize the alert message with context from {{ alert }} or any other {{ step }}
with:
message:|
"A new alert from Sentry: Alert: {{ alert.name }} - {{ alert.description }}
{{ alert}}"
-name:create-jira-ticket-oncall-board
# control the workflow flow with "if" and "foreach" statements
if:"'{{ alert.service }}' == 'ftp' and not '{{ alert.ticket_id }}'"
provider:
type:jira
config:" {{ providers.jira }} "
with:
board_name:"Oncall Board"
custom_fields:
customfield_10201:"Critical"
issuetype:"Task"
# customize the summary
summary:"{{ alert.name }} - {{ alert.description }} (created by Keep)"
description:|
"This ticket was created by Keep.
Please check the alert details below:
{code:json} {{ alert }} {code}"
# enrich the alerts with more context. from now on, the alert will be assigned with the ticket id, type and url
enrich_alert:
-key:ticket_type
value:jira
-key:ticket_id
value:results.issue.key
-key:ticket_url
value:results.ticket_url
總結(jié)
KeepHQ 是一個變革性的開源 AIOps 平臺,為 DevOps 和 SRE 團隊民主化了高級警報管理和自動化。通過減少噪音、豐富警報和自動化響應(yīng),Keep 幫助組織將數(shù)據(jù)轉(zhuǎn)化為可操作的見解,促進協(xié)作和可擴展性,適合各種環(huán)境。無論是希望采用 AIOps 實踐的小型團隊,還是尋求強大可擴展解決方案的企業(yè),Keep 提供了一個引人注目的、社區(qū)支持的平臺來簡化 IT 操作。
Github 倉庫地址:https://github.com/keephq/keep