news 2026/9/14 20:58:48

Keep 告警管理平台实战指南:三步接入第一路告警,让告警自动化跑起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Keep 告警管理平台实战指南:三步接入第一路告警,让告警自动化跑起来

Keep 告警管理平台实战指南:三步接入第一路告警,让告警自动化跑起来

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

Keep 是一个开源的告警管理平台和 AIOps 工具:把散在各处监控工具里的告警汇到同一个入口,先做提取、映射和去重,再用告警工作流自动处置。这篇指南带你从接入第一路告警,一路走到生产环境。

告警太多太乱?你可能缺一个告警中枢

  • ⚡ 半夜来一场告警风暴:同一个根因连刷上百条,没人分得清哪条是主线;
  • 🧩 工具割裂:Datadog、Prometheus、Grafana、值班平台各看各的界面,格式还不一样;
  • 🐌 人工排障慢:归组、判断、通报全靠人肉,响应速度全看运气。

Keep 补的就是这个缺口——在所有监控工具前面架一个告警中枢,统一收、统一理、自动响应,你只在"该你管"的时候被打扰。

先认识两个核心概念:Providers 与 Workflows

整个平台是"Provider 进、Workflow 出"的结构:

  • Provider(提供者):每接一个监控系统就配一个 Provider,它负责把对方格式的告警翻译成 Keep 内部统一的结构,也负责把动作(建工单、发消息)推回对方;
  • Workflow(告警工作流):一段声明式 YAML,定义"什么样的告警触发、跑哪些步骤、最后执行什么动作"。

项目内置 130+ 监控集成,Datadog、Prometheus、Grafana、PagerDuty 都在列表里。想自己扩展时,Provider 基类源码在 keep/providers/base/,照着现有实现抄作业就行。

三步接入第一路告警

最短路径其实就三步:

  1. 起服务:仓库里直接docker compose up,前后端加 WebSocket 服务一次拉起来;
  2. 配 Provider:控制台里挑一个已有工具(比如 webhook、Prometheus),填好认证信息;
  3. 推一条告警:最朴素的方式是直接调 REST 接口。
curl -X POST "http://localhost:8080/api/v1/alerts/event/webhook" \ -H "Content-Type: application/json" \ -d '{"name":"磁盘空间不足","severity":"critical","service":"web-01"}'

请求打进去之后,告警立刻出现在控制台里,后续所有加工和工作流都挂在这条告警上。

告警进来后的三层加工:提取、映射、去重

告警进来只是第一步,真正让告警"可读、可查、不吵人"的是三层加工。

提取:从告警文本里抠字段

告警消息里常夹着有用信息(主机名、实例 ID),一条提取规则就能把它拿出来:

name: "提取主机名" regex: "host=([a-z0-9-]+)" attribute: "host"

匹配成功就把host写到告警属性上,后面的筛选、工作流条件都能直接引用。

映射:给告警贴上"身份标签"

映射规则可以把外部数据(比如一份服务清单、拓扑文件)按字段贴到告警上。告警从此知道"我属于哪个服务、归哪个团队",排障不用再到处翻系统。

去重:同样的告警只响一次

去重规则指定一组 fingerprint 字段(比如监控项 ID 加描述),字段组合相同的告警自动合并成一条,风暴瞬间安静。规则在控制台里可视化配置:

让 AI 帮告警找亲戚

归完组、去完重,还有一类噪音:一堆告警其实是同一件事的不同症状。

AI 关联会分析一批告警的内容和上下文,把互相相关的自动聚成一簇,相当于给告警"找亲戚"——你在事件视图里看到的是几个"问题",而不是几百条告警。嫌全自动太激进,还有半自动模式:AI 只给建议,由人来点确认。

拓扑关联更进一步:它基于服务间依赖把告警画在拓扑图上,谁先炸、谁被波及,传播路径一眼可见。

工作流自动化:从手写 YAML 到说一句话

手写 YAML 是基本功:触发条件用 key/value 过滤,动作之间可以用CEL表达式控制走向,触发源除了告警,还支持定时、手动。

workflow: id: critical-alert-notify triggers: - type: alert filters: - key: severity value: critical actions: - name: 通知值班群 if: "{{ alert.service }} == 'payments'" provider: type: slack with: message: "新告警 {{ alert.name }}:{{ alert.description }}"

不想写 YAML 也可以:用自然语言描述需求,比如"每分钟查一次 CloudWatch 日志,发现错误就发 Slack",AI 工作流助手会直接生成可运行的 YAML,你再改细节就行。

仓库 examples/workflows/ 里备了大量现成示例,改改参数就能用。

上生产前要看的事

  • 认证与安全:支持 API Key、OAuth2、SSO(SAML/OIDC/LDAP),生产环境把默认无鉴权关掉,给每个调用方发独立 API Key;
  • 自定义 Provider:内置 130+ 集成覆盖不到的场景,继承 BaseProvider 实现配置校验和查询方法,就能把私有系统接进来;
  • 多租户与 RBAC:按租户隔离数据,权限细到读写级别,多团队共用一套平台不打架;
  • 维护窗口:计划内的发布和变更,在窗口内自动压制相关告警,别让例行维护刷爆值班群。

部署选型与落地路线

组件不复杂,Docker Compose 一套就能跑起来:

组件职责
API 服务(keep-backend)告警接收、加工与 REST 接口
前端(keep-frontend)统一控制台
WebSocket 服务告警与状态实时推送
工作流执行器(arq worker)异步执行告警工作流
数据库告警持久化,可选 SQLite/PostgreSQL/Elasticsearch
Redis缓存与任务队列

落地建议分三步走:

  1. 试点:接 1-2 个最熟的 Provider,配一条去重规则和一个通知类工作流;
  2. 扩集成:把主力监控和值班平台都接进来,上 AI 关联和拓扑;
  3. 全量:开认证与多租户,把常用处置动作沉成告警工作流,开始无人值守。

想从源码跑,克隆仓库 https://gitcode.com/GitHub_Trending/kee/keep ,docker compose up后打开控制台,先把自己最烦的那一路告警接进来——第一层去重生效的那一刻,你就知道这套告警自动化值不值了。更多细节在 docs/ 里都能翻到。

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

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

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

MATLAB实现光纤布拉格光栅传输矩阵法仿真

1. 光纤布拉格光栅仿真概述光纤布拉格光栅(FBG)作为光纤通信和传感领域的核心器件,其光谱特性直接影响着系统性能。传统实验方法需要昂贵的制备设备和复杂的测试流程,而MATLAB仿真为我们提供了一种经济高效的研究手段。传输矩阵法…

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

接口芯片的四大物理契约:电压、时序、拓扑与鲁棒性

/* 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 20:57:40

交直流混合配电网潮流计算的统一求解法及Matlab实现

1. 交直流混合配电网潮流计算概述交直流混合配电网是未来智能电网发展的重要方向,它结合了交流电网的成熟技术和直流电网的高效传输优势。在这种混合系统中,潮流计算作为电网分析的基础工具,其重要性不言而喻。传统的交替迭代法在处理交直流混…

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

CRMEB开源多商户商城系统架构与实现解析

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

作者头像 李华