news 2026/9/14 13:06:00

Keep 开源告警管理平台:驯服告警风暴的实用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Keep 开源告警管理平台:驯服告警风暴的实用指南

Keep 开源告警管理平台:驯服告警风暴的实用指南

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

Keep 是一款开源 AIOps 告警管理平台,把散落在 Prometheus、Grafana、Datadog 等各监控工具里的告警汇聚到同一块屏幕,并提供去重、AI 关联和自动化工作流,适合被"告警风暴"刷屏、又不想再买一套商业 APM 的运维团队。

先看一个场景 🕘

凌晨两点,一个数据库慢查询,同时触发了 Prometheus 的 CPU 告警、Grafana 的响应延迟告警、Datadog 的错误率告警,你的手机在 10 分钟内震动 30 次。你真正要处理的是 1 个问题,看到的却是 30 条通知。

这就是 Keep 想解决的事:它不做监控采集,而是站在你所有监控工具的上层,把告警收进来,然后做四件事——聚合展示、去重、关联成事件、自动处理

告警多了之后,最先缺的不是"看",而是"分清哪些是一回事"。

四个值得看的能力

所有告警聚到一张表 📋

能做什么:各监控工具的告警统一进同一个 Alert 列表,按严重程度、状态(Firing/Resolved/Suppressed)、来源、指派人筛选。怎么做:在 Providers 页面接上你的监控工具,支持 push(webhook 实时推)和 pull(定时拉取)两种方式,推荐 push。得到什么:一个事实来源,新告警通过 websocket 实时推送到页面,不用再切控制台。

左侧面板可按 Severity、Status、Source 组合过滤,右侧是实时告警流。

告警去重,先把噪音砍掉 🧹

能做什么:把"同一问题、不同来源"的告警合并成一条。分两种模式——部分去重按你指定的字段(如 service + error_message)归组;完全去重直接丢弃完全重复的告警。怎么做:每个 provider 都预置了默认的指纹字段规则,你可以按自己告警的结构改,也可以忽略某些字段(比如时间戳)。得到什么:一条告警背后挂了 N 个来源,通知量肉眼可见地降下来。规则详见 去重文档。

AI 告警关联,自动聚成事件 🔗

能做什么:把时间上、语义上相关的多条告警归成同一个 incident,比如"网络延迟高 + 应用响应慢"自动归为一起。怎么做:分两层——手动关联规则(基于告警属性写条件)人人可用;AI 关联则用 transformer 模型基于你自己的告警历史训练,界面里可以调准确率阈值、关联阈值和训练轮数,模型置信度不够时会转人工。得到什么:从"30 条告警"变成"3 个事件",排障入口少了一个数量级。注意它需要配置 AI 后端(如 OpenAI),不是开箱即用。

执行日志里能看到每条未关联告警的匹配分数和归属事件。

工作流:告警来了之后自动干活 ⚙️

能做什么:告警触发后自动执行动作——开 Jira 工单、发 Slack/邮件、调任意 HTTP 接口、跑 Python 脚本,甚至删掉故障的 K8s Pod。怎么做:工作流是 YAML 文件,可以手动上传,也可以在 Web 界面里用自然语言描述需求("每分钟查 CloudWatch 日志,发现 error 就发 Slack"),AI 会生成带触发器、条件、动作的完整工作流,你确认后保存即可。得到什么:一套"监控工具的 GitHub Actions"。仓库里 examples/workflows/ 有 100+ 现成模板可直接抄。

上手快跑 🚀

有 Docker 的话,一条命令就能跑起来(默认 compose 不带登录校验,数据落在本地 SQLite):

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

打开http://localhost:3000即可使用。三个容器分别是前端(3000)、后端 API(8080)、websocket(6001),全部配置见 docker-compose.yml。

接上第一个监控工具只需三步:Providers 页面选工具 → 填凭据 → 勾选 Install Webhook(让 Keep 自动帮你建 webhook)。之后去 Alerts 页面等告警进来。

边界说明:它适合谁,不适合谁 🧭

适合

  • 同时用 3 个以上监控/告警工具,想统一入口的团队
  • 告警量大、噪音多,需要去重、关联、自动处理
  • 有 Docker 环境、愿意自己维护一个中间件层

不适合

  • 想要"接上就能出监控指标"的——它不采集指标,监控工具仍然得自己部署
  • 告警总量很小、一个工具就够的小团队,引入成本大于收益
  • 期望 AI 功能零配置开箱即用的——需要你自己配 AI 后端密钥
  • 无法部署容器化服务的纯本地脚本环境

常见坑 ⚠️

页面打得开,但告警不实时刷新→ 检查 websocket 容器(6001 端口)是否存活:docker compose ps。前端靠它推送,缺了就只有手动刷新能看到新告警。

生产环境还在用默认配置→ 默认 compose 是 NO_AUTH + 本地 SQLite,数据都在state/目录。上生产建议换 docker-compose-with-auth.yml(DB 认证,默认账号密码均为 keep,登录后立刻改密码),并把DATABASE_CONNECTION_STRING指向外部 PostgreSQL。

AI 关联/助手点了没反应→ 后端从环境变量OPENAI_API_KEY读密钥(支持用OPENAI_BASE_URL指向 LiteLLM 等代理)。启动 compose 前没注入这个变量,AI 功能就是空的。

pull 模式拉不到实时告警→ pull 主要用来回补历史告警,不触发工作流。要实时就开 push 模式(provider 设置里的 Install Webhook),这也是官方推荐方式。

升级/重装后数据没了→ 数据全在state/目录(含 SQLite 库和 secrets 文件)。备份或迁移前,先停容器再整体拷贝这个目录。

写在最后

Keep 的定位很克制:不替换你的监控工具,只做"告警进来之后"的聚合、降噪和自动化这一层——这恰恰是大多数团队最缺的一块。

  • 用上面 4 行命令先跑起来,随便接一个 Prometheus 试试
  • 抄一个 examples/workflows/ 里的模板,体验告警自动处理
  • 告警量上来之后再考虑去重规则和 AI 关联,先降噪再上智能

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 13:04:18

.NET 10构建开源文档管理系统:架构设计与实现

1. 项目概述:为什么我们需要一个基于.NET 10的文档管理系统? 在数字化办公时代,文档管理一直是企业和个人面临的痛点。传统文件服务器存在版本混乱、协作困难的问题,而商业文档管理系统往往价格昂贵且架构封闭。这正是我决定用.NE…

作者头像 李华
网站建设 2026/9/14 13:04:12

Scrapy采集京东商品:解析、渲染与并发调优全攻略

简介:基于Scrapy框架的京东商品数据爬虫项目,代码精简、文档齐全,适合爬虫入门者、高校学生用于课程设计、毕业设计或快速搭建电商数据采集原型。项目经过完整测试并获导师认可,可直接运行或二次开发。资源包含27个文件&#xff0…

作者头像 李华
网站建设 2026/9/14 13:04:08

FMCW SAR成像为何必须用range-Doppler处理

简介:本资源是一份面向雷达信号处理初学者与SAR成像研究者的FMCW SAR Range-Doppler成像实践代码包,聚焦于合成孔径雷达中连续波调频体制下的距离-多普勒域图像重建原理与实现。资源核心为一个MATLAB脚本(range_doppler.m)&#x…

作者头像 李华
网站建设 2026/9/14 12:57:53

从RAG到智能体:WeKnora v0.8.0记忆、工具与技能落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华