
Keep 告警管理平台实战指南:三步接入第一路告警,让告警自动化跑起来【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keepKeep 是一个开源的告警管理平台和 AIOps 工具:把散在各处监控工具里的告警汇到同一个入口,先做提取、映射和去重,再用告警工作流自动处置。这篇指南带你从接入第一路告警,一路走到生产环境。告警太多太乱?你可能缺一个告警中枢⚡ 半夜来一场告警风暴:同一个根因连刷上百条,没人分得清哪条是主线; 工具割裂:Datadog、Prometheus、Grafana、值班平台各看各的界面,格式还不一样; 人工排障慢:归组、判断、通报全靠人肉,响应速度全看运气。Keep 补的就是这个缺口——在所有监控工具前面架一个告警中枢,统一收、统一理、自动响应,你只在该你管的时候被打扰。先认识两个核心概念:Providers 与 Workflows整个平台是Provider 进、Workflow 出的结构:Provider(提供者):每接一个监控系统就配一个 Provider,它负责把对方格式的告警翻译成 Keep 内部统一的结构,也负责把动作(建工单、发消息)推回对方;Workflow(告警工作流):一段声明式 YAML,定义什么样的告警触发、跑哪些步骤、最后执行什么动作。项目内置 130 监控集成,Datadog、Prometheus、Grafana、PagerDuty 都在列表里。想自己扩展时,Provider 基类源码在 keep/providers/base/,照着现有实现抄作业就行。三步接入第一路告警最短路径其实就三步:起服务:仓库里直接docker compose up,前后端加 WebSocket 服务一次拉起来;配 Provider:控制台里挑一个已有工具(比如 webhook、Prometheus),填好认证信息;推一条告警:最朴素的方式是直接调 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/ElasticsearchRedis缓存与任务队列落地建议分三步走:试点:接 1-2 个最熟的 Provider,配一条去重规则和一个通知类工作流;扩集成:把主力监控和值班平台都接进来,上 AI 关联和拓扑;全量:开认证与多租户,把常用处置动作沉成告警工作流,开始无人值守。想从源码跑,克隆仓库 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),仅供参考