news 2026/9/14 5:02:33

一条告警响 100 次,怎么变成 1 次?开源 AIOps Keep 告警自动化快速上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一条告警响 100 次,怎么变成 1 次?开源 AIOps Keep 告警自动化快速上手

一条告警响 100 次,怎么变成 1 次?开源 AIOps Keep 告警自动化快速上手

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

凌晨两点,数据库挂了,Prometheus、Datadog、CloudWatch 接连往你手机里塞 300 条告警,说的却是同一件事,你得逐条翻,一小时就过去了。这就是值班工程师最讨厌的告警风暴。Keep 是一个开源 AIOps 与告警自动化平台:把各家监控工具的告警汇总到一张表里,做去重、富化和关联,再用自动化工作流替你值班,把处理时间从小时级压到分钟级。

快速认识 Keep:接入、治理、自动化

一句话定位:Keep 是告警的"瑞士军刀",把 130+ 种监控工具、沟通渠道和工单系统的告警放进同一张告警表,并且支持与监控工具双向同步(你这边处理完,状态会写回源头)。

它的用法就三步主线,你按顺序做就行:

  • 接入:通过 provider(连接器,对接某个第三方系统的适配层)把告警报送进来或拉取进来
  • 治理:用正则提取、CSV 映射、指纹去重把杂告警洗干净
  • 自动化:写 Keep 工作流,让通知、建工单、自动恢复这些事不再靠人手

一条告警的旅程:从多源接入到 AI 关联降噪

3 分钟接上 Prometheus 或 Datadog

帮你省的是自己写采集脚本的功夫。在 Prometheus 或 Datadog 侧把 webhook 指向 Keep 的 API 端点,告警立刻落到统一告警表;工具不支持推送时,也可以让 Keep 主动轮询拉取。每个连接器的实现都在 keep/providers/ 里,照着看就能懂它怎么解析告警。

用正则从告警正文里抠出结构化信息

帮你省的是"同一个报错重复 100 次、只有客户号不同"时人工比对的功夫。机制是:你定义一条提取规则,指定对 message 这类字段跑正则,正则里的命名分组会被直接加为告警的新属性。比如 docs/ 里给的例子,从Error 404: Not Found - [UserID: 12345]里一把抽出错误码、错误信息和 user_id:

Error (?P<error_code>\d+): (?P<error_message>.+) - [UserID: (?P<user_id>\d+)]

抽出来的属性马上能用于过滤、映射和分组。

指纹去重:把重复告警归成一条

帮你省的是反复被同一条告警叫醒的功夫。每个 provider 都声明了一组指纹字段(fingerprint,用于判断"两条告警是不是同一件事"的字段组合),Keep 对这些字段做哈希:指纹相同就算同一条,合并展示、合并触发。例如 Datadog 用的是groups + monitor_id。规则还能自定义,详见 docs/overview/deduplication.mdx。

用 AI 关联自动聚类

帮你省的是手工把散告警拖进事件单(incident,一次故障的聚合单元)的功夫。AI 关联引擎用你租户的历史告警做训练集,每 5~15 分钟跑一轮聚类,未分配告警置信度超过阈值就自动并入对应事件。注意该能力属于 Keep Cloud / 企业版,开源版不含。

让工作流替你值班:CEL 条件触发 + 一句话生成

一行 CEL 条件就能触发

帮你省的是写 if-else 代码的功夫。CEL(Common Expression Language,一门用来写条件的简洁表达式语言)在 Keep 里贯穿始终:告警列表过滤、工作流触发、维护窗口抑制都用它。工作流就是一个 YAML 文件:triggers 定义何时跑,steps 取数,actions 干活。官方 README 里这个例子只筛 Sentry 的 critical 告警:

workflow: id: sentry-alerts triggers: - type: alert filters: - key: source value: sentry - key: severity value: critical

再配上 actions,就能给指定团队发 Slack、按条件建 Jira 工单,工单号还能回填进告警属性,下次同样的告警直接带上单号。

一句话生成告警工作流

帮你省的是背 YAML 字段的功夫。在 Workflows → Create Workflow 里打开 AI 助手,用大白话描述需求(比如"每分钟查 CloudWatch 日志发现错误就发 Slack"),它会生成完整的工作流草稿,你确认后才应用——开源版标注为 experimental,先用起来再打磨。

值班期实用功能:拓扑视图、维护窗口与自监控指标

服务拓扑关联视图

帮你省的是"这个服务挂了还会拖累谁"靠脑子想的功夫。Service Topology 把服务画成节点、依赖画成边,告警一关联上来,影响面在图上直接看得见,支持 Datadog、PagerDuty 等来源。

维护窗口抑制计划内告警

帮你省的是凌晨例行发布时被"预期内的错误"吵醒的功夫。机制:用一条 CEL 表达式定义抑制条件(比如service == 'database'),再设时间窗,窗口内匹配的告警直接不推送;但 RESOLVED 和 ACKNOWLEDGED 状态的告警不会被抑制,保证恢复消息能正常关单。

用指标盯着 Keep 自己

帮你省的是"告警平台挂了没人知道"的暗坑。后端提供/healthcheck健康检查端点和/api/metrics使用量指标;仓库自带的 docker-compose.yml 里预置了 Prometheus + Grafana 组件,用grafanaprofile 启动即可看板监控。

怎么跑起来:docker compose 两分钟 + 自定义 provider

docker compose 本地跑起来

帮你省的是本地装数据库和依赖的功夫。克隆仓库后一条命令启动,前端在 3000 端口、后端 API 在 8080 端口,另带一个 websocket 服务;默认用 SQLite,数据落在./state目录。

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

开发一个自定义 provider

自家内部系统不在 130+ 连接器里时,从 keep/providers/base/ 的BaseProvider起步:声明认证配置(PROVIDER_SCOPES)和去重用的FINGERPRINT_FIELDS,实现查询方法,平台即可识别它。想参考现成写法,随便挑一个 provider 目录对照即可。

上手清单(按团队规模挑着做)

  • 1~3 人小团队:先只接 Prometheus 或 Grafana OnCall,开默认指纹去重,把散落在几个工具里的告警合成一张表 ⚡
  • 约 10 人团队:加正则提取和 CSV 映射(把 region 映射到负责团队),再写一个自动建 Jira 工单的工作流,examples/workflows/ 里有 100+ 现成模板可抄
  • 有轮值制度的团队:给例行发布配维护窗口,把/api/metrics接进 Prometheus 看住 Keep 本身 ✅
  • 所有规模:先挑 1~2 个最高频的告警场景跑通,一周后按处理时间变化决定是否扩大接入范围,别一上来就把所有工具全接进来

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

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

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

Example Obsidian Links

Example Obsidian Links 【免费下载链接】harper Offline, privacy-first grammar checker. Fast, open-source, Rust-powered 项目地址: https://gitcode.com/GitHub_Trending/har/harper Below, you will find a number of example links that Obsidian is able to pr…

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

BMA2x2 三轴加速度计 Linux 驱动开发:从寄存器到设备树全解析

简介&#xff1a;BMA2x2驱动源码包面向嵌入式开发者&#xff0c;适用于智能手环、手机外设、工业监测等需采集运动数据的物联网场景&#xff0c;解决从底层寄存器初始化、数据读写到联合调试的完整开发问题。压缩包内共4个文件&#xff0c;包含2个C源文件、1个头文件和1个Markd…

作者头像 李华
网站建设 2026/9/14 4:56:07

Lithe-IDEA:轻量级Spring Boot专用IDE开源实践

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

作者头像 李华
网站建设 2026/9/14 4:55:41

开源机械爪控制系统OpenClaw设计与实现

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

作者头像 李华
网站建设 2026/9/14 4:52:00

Python车牌识别实战:从YOLO检测到字符切分与参数调优

简介&#xff1a;这是一套基于Python开发的车牌识别参考项目源码包&#xff0c;面向图像处理、模式识别领域的开发者与学习者&#xff0c;适用于课程设计、毕业设计、算法验证或实际项目二次开发场景。项目采用PyQt5构建友好交互界面&#xff0c;借助OpenCV完成车牌图像预处理、…

作者头像 李华
网站建设 2026/9/14 4:51:25

爱心公益网站HTML5模板改造与优化实战指南

简介&#xff1a;一款基于HTML5与CSS3的爱心公益网站模板&#xff0c;面向非营利组织、慈善机构及有公益建站需求的个人开发者&#xff0c;提供了可直接定制上线的响应式页面框架&#xff0c;适合展示公益项目、发布志愿活动或承载捐赠入口。包体为zip压缩包&#xff0c;共35个…

作者头像 李华