keep
开源 AIOps 告警管理平台,支持 132+ 监控工具集成,AI 驱动的告警去重、丰富与关联分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AIOps 告警管理平台,支持 132+ 监控工具集成,AI 驱动的告警去重、丰富与关联分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨三点,你的手机再次震动。告警应用疯狂推送:「数据库 CPU 使用率超过 80%!」你从床上跳起来,匆匆打开电脑排查,结果发现这只是某个定时任务的短暂峰值——两分钟后系统自动恢复了。这类误报在 24 小时运行的互联网服务中每小时都在上演。
当企业的监控体系从 Prometheus、Grafana、Datadog 到 PagerDuty 堆了十几种工具,每种工具每小时都在产生告警,运维工程师面临的不再是「没有告警」的问题,而是告警太多、无暇处理的问题。GitHub 上拥有超过 1.2 万颗星的开源项目 Keep,正是为解决这一痛点而生。

Keep 由以色列公司 Keep Alerting LTD 开发并维护,2023 年 2 月正式开源。作为一个专注于告警管理(AIOps)的平台,它的核心目标是成为监控工具与运维工程师之间的智能中间层——不是替代监控工具,而是在告警到达工程师之前,先做一层过滤、归并、丰富和智能分析。
在 Keep 出现之前,企业通常用两种方式处理告警洪流:
Keep 则提供了第三条路——开源、自托管、功能完整的告警管理平台,既保留了数据主权,又兼顾了功能的丰富性。
Keep 采用前后端分离架构,技术选型体现了现代云原生应用的最佳实践。
后端基于 Python 3.11+ / FastAPI 构建,选用 FastAPI 而非 Django 或 Flask,核心考量是:
核心依赖覆盖多个关键领域:
数据库层采用 SQLModel,结合了 SQLAlchemy 的 ORM 能力与 Pydantic 的数据验证能力,在类型安全和数据库操作之间取得了优雅平衡。
前端仓库 keep-ui/ 使用 Next.js(App Router) 构建,TypeScript 全程覆盖,是一个完整的单页应用(SPA)体验:
后端 keep/ 目录下的模块设计体现了 DDD(领域驱动设计)思想:
| 模块 | 职责 |
|---|---|
providers/ | 132+ 集成适配器(Prometheus、Datadog、Grafana、PagerDuty、OpsGenie、Slack、Teams 等) |
actions/ | 告警触发后的动作(发送通知、创建工单、执行脚本) |
conditions/ | 条件判断逻辑(何时触发告警) |
rulesengine/ | 规则引擎,处理复杂告警规则 |
workflowmanager/ | 工作流编排,支持条件分支和并行执行 |
parser/ | 告警解析,从不同来源提取统一数据结构 |
topologies/ | 拓扑关系管理,追踪告警之间的关联 |
特别值得注意的模块是 topologies/——Keep 不仅管理单条告警,还维护服务拓扑图,理解服务之间的依赖关系,从而在某个服务宕机时自动判断受影响范围。

Keep 的核心能力不是「接收告警」,而是对告警进行智能化处理。这体现在三大核心功能上:
同一个根因可能触发来自多个监控工具的告警(例如数据库故障,Prometheus、Dynatrace 和 Datadog 同时告警)。 Keep 通过指纹(Fingerprint)算法识别相同来源的告警,将多条告警归并为一条,避免工程师收到重复通知。
告警到达后,Keep 可以自动调用外部数据源补充信息:
这是 Keep 最具差异化的能力。基于 LLM,Keep 可以自动分析同一时间窗口内的多条告警,判断它们是否相关、是否有共同根因。这解决了传统规则引擎无法处理的复杂故障场景。
Keep 提供了完整的 Docker Compose 部署方案,降低了部署门槛:
docker-compose.yml # 基础版本(默认)
docker-compose-with-auth.yml # 带认证版本
docker-compose-with-arq.yml # 带异步任务队列版本
docker-compose-with-otel.yaml # 带 OpenTelemetry 监控版本
基础版本部署仅需 docker compose up,平台会自动启动后端(FastAPI + Uvicorn)和前端(Next.js),但需要提前准备好:
多阶段 Dockerfile 基于 python:3.13.5-alpine,最终镜像通过 multi-stage 构建优化了体积。
Keep 的集成数量是它最令人印象深刻的指标之一。132+ 个 provider 覆盖了告警管理工具链的各个环节:
监控工具:Prometheus、Grafana、Datadog、Dynatrace、New Relic、Sentry、CloudWatch、Azure Monitor、GCP Monitoring……几乎涵盖了市面上所有主流监控方案。
通讯工具:Slack、Teams、Discord、邮件(SendGrid、Resend)、Telegram、Twilio(SMS)等,支持双向交互——你可以在 Slack 中直接确认/关闭告警。
云服务商:AWS、GCP、Azure 三大云厂商的计算、存储、数据库服务的原生告警集成。
Keep 在 AI 能力的集成上非常务实,聚焦于三个高频痛点:
支持的 AI 后端非常开放:OpenAI GPT-4、Anthropic Claude、DeepSeek、Google Gemini、Grok、本地 Ollama,甚至 LlamaCPP(完全本地运行,无需 API)。
Keep 的快速增长(12,000+ stars、70 个活跃分支、2,949 次提交、持续活跃的社区)反映了行业的一个趋势:企业不愿意把运维数据交给 SaaS 平台。
