Keep 告警管理平台实战:Docker 5 分钟体验与 K8s 生产部署
2026/9/14 18:15:19 网站建设 项目流程

Keep 告警管理平台实战:Docker 5 分钟体验与 K8s 生产部署

【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keep

凌晨两点,一次失败的发布让告警像多米诺骨牌一样倒下:连接池报警、接口延迟飙升、同一台机器的磁盘告警重复刷了几十遍。你在 Datadog、Prometheus 看板和 Slack 事件频道之间来回切换,越拼越乱。Keep 告警管理平台要解决的就是这件事——把散落在各监控工具里的告警收进同一个面板,先去重、再关联,然后按工作流自动处理。它是开源的 AIOps 告警管理方案,支持从 Docker 单机到 Kubernetes 集群的部署。

Keep 解决什么:按运维的真实痛点拆

Keep 把自己定位成"监控工具的 GitHub Actions":告警通过 provider 流进平台,工作流负责自动响应。对照日常遇到的四类问题看:

  • 告警风暴与重复告警:同源告警按指纹去重,面板上只保留一条;关联规则把相互相关的告警聚合成一个事件,几十条同一根因的告警不会各自占一行。
  • 根因定位困难:服务拓扑视图把服务间的依赖关系画成图,AI 关联功能再把一批告警读成一个带摘要的事件,帮助判断问题从哪条链路开始。
  • 响应依赖人肉:工作流是声明式 YAML,由触发器、取数步骤和动作组成,写好之后 7x24 小时自动执行,不依赖值班人员的手速。
  • 工具割裂:与 100 多个监控、工单、通知工具双向集成,告警可以写回源系统,处理结果也能带回去。

Docker 5 分钟体验步骤

最轻量的部署形态是 Docker Compose,共 3 个容器:keep-backend(FastAPI 服务,提供 API 并执行工作流)、keep-frontend(Next.js 界面)、keep-websocket-server(Soketi,负责告警变化的实时推送)。默认docker-compose.yml使用AUTH_TYPE=NO_AUTH,启动后无需登录即可访问;需要账号体系时换用docker-compose-with-auth.yml,默认账号与密码均为 keep。

git clone https://gitcode.com/GitHub_Trending/kee/keep cd keep docker-compose up -d

验证方式:浏览器打开http://localhost:3000应能看到 Keep 界面,后端 API 监听 8080 端口。随后在 Providers 页接入一个监控工具,Alerts 页出现同步过来的告警,即说明链路已通。服务清单与环境变量说明见 Docker 部署文档。

功能深潜:四个值得花时间试的功能

统一告警面板与告警丰富化

面板是所有告警的落点:按严重程度、状态、来源、服务筛选排序,点开一行可以看到完整上下文。告警入库时还能配置提取规则,从原始 payload 里抽出字段(如 incident id、主机名)挂到告警上,方便后续筛选和工作流引用。受益者是值班工程师:告警响起时,不用再先想"这事该去哪个工具里看"。

服务拓扑:看告警落在哪条依赖链上

拓扑视图把服务依赖关系画成一张图,告警来源标注在图上。上游数据库告警触发时,能在图上直接看到受影响哪些下游服务,而不必靠记忆拼调用链。对排障来说,这比翻架构文档快。

AI 告警关联:把几十条告警读成一个事件

告警风暴时,人很难逐条读完上百条告警。Keep 用 LLM 分批阅读告警,识别哪些属于同一事件并聚合,同时生成摘要;也提供半自动模式:AI 先给出关联建议,人工确认后沉淀为规则。首次体验时建议先接入 Datadog 这类告警量大的工具,再观察关联页的聚合效果,详见 AI 关联文档。

自然语言工作流:描述需求,直接生成 YAML

手写工作流 YAML 有门槛。AI 工作流助手支持用自然语言描述需求,比如"收到 Sentry 的 critical 告警就建 Jira 工单并通知对应 Slack 频道",它会生成完整的工作流配置,可直接保存。保存前可先手动执行一次验证步骤是否正确,之后再查看每次执行的历史与输入输出。

走向生产:分档部署路径

  • 验证与开发环境:继续用 Docker Compose 即可,数据存放在挂载的 state 目录(SQLite 与文件形式密钥)。长期运行的环境至少把DATABASE_CONNECTION_STRING指到 Postgres,并替换默认的 JWT 与登录密钥,完整变量说明见 部署配置文档。
  • 生产环境:官方推荐用 Helm 部署到 Kubernetes,由 chart 统一管理后端、前端、websocket 与数据库组件。
helm repo add keep https://keephq.github.io/helm-charts helm repo update kubectl create namespace keep helm install keep keep/keep -n keep

高可用关键项:后端跑多副本、数据库开启持久化、通过 ingress 暴露入口(ingress-nginx 与 HAProxy 均可)。可观测性方面,通过OTEL_EXPORTER_OTLP_ENDPOINT指向 OpenTelemetry Collector 即可接入,仓库otel-shared/目录提供了现成的 collector 配置。安装细节见 K8s 安装文档,性能与压测参考 监控 和 压力测试 两篇。

生态扩展:100+ Provider 与工作流

Provider 按用途分类:可观测工具(Datadog、Prometheus、Grafana、Elastic、Splunk)、云监控(AWS CloudWatch、Azure Monitor、GCP Monitoring)、值班与事件(PagerDuty、OpsGenie、Grafana OnCall、Incident.io)、工单(Jira、GitLab、Linear)、通知(Slack、Teams、Telegram、SMTP、ntfy),以及 OpenAI、Anthropic、Ollama、DeepSeek 等 AI 后端,和 MySQL、PostgreSQL、ClickHouse 等数据源。完整清单见 provider 列表。

工作流是声明式 YAML,由triggers(告警到达、定时间隔、手动)、steps(取数与丰富告警)和actions(建工单、发消息、调 API)三段组成。examples/workflows/ 目录有一百多个现成示例,例如自动解决超过一小时未更新的陈旧告警、告警触发后创建 Jira 工单、查询 VictoriaMetrics 指标再转成告警。建议直接改一个现有示例的 provider 与过滤条件,而不是从零写。

读完去做:四条可验证的行动

  1. 用 Docker Compose 启动,打开http://localhost:3000确认界面可访问、8080 端口有后端响应。
  2. 接入一个监控工具(Prometheus 或 Datadog 均可),确认 Alerts 页出现告警。
  3. 从示例复制一个 interval 工作流(如 resolve_old_alerts.yml),保存后手动执行一次,在历史里确认有记录。
  4. 准备上生产时,用 Helm 在 K8s 部署一套,检查后端副本数与数据库持久化是否生效。

Keep 把告警管理里最费人力的部分——去重、关联、自动响应——收进了一个开源仓库,文档与示例都相当齐整。上面四条做完,你手上就有一个可验证的实验环境,多租户认证、性能调优这类深度改造,可以按团队节奏逐步推进。

【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keep

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询