ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

凌晨的告警群还在刷屏?Keep 告警管理平台的完整上手指南

凌晨的告警群还在刷屏?Keep 告警管理平台的完整上手指南 凌晨的告警群还在刷屏Keep 告警管理平台的完整上手指南【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keep凌晨 3 点告警群 200 条消息还在刷没人敢先点哪一条。Keep 是一个开源 AIOps 告警管理平台把 Datadog、Prometheus 等 130 多个监控源的告警汇进同一张表用去重、关联和自动化工作流把 MTTR 从 30 分钟压到 5 分钟。项目全景速览先说它能干嘛你就当朋友安利工具一个入口看全部告警Datadog、Prometheus、Grafana、PagerDuty……130 多种监控和协作工具双向同步不用开 5 个标签页。降噪三件套去重、关联、维护窗口重复告警不再重复弹窗。自动化工作流触发条件 动作YAML 写好就行号称监控工具的 GitHub Actions。AI 能力告警智能归集成事件、自动生成事件摘要还能用自然语言直接生成工作流。功能模块一句话说明典型使用场景Provider 接入130 工具一键连接推/拉双向把 Prometheus 告警接进来降噪去重、关联、维护窗口同一监控狂发 30 次只算 1 次工作流YAML 定义条件 动作支持 CELcritical 告警自动建 Jira 工单事件相关告警聚成 Incident带时间线排查一次支付故障的完整链路AI 能力关联分析与摘要生成50 条告警自动归成 1 个事件核心功能拆解5 分钟把 Prometheus 或 Datadog 告警接进来场景你的告警散落在 Prometheus、Zabbix、Datadog 里每个工具一套 UI值班的人根本记不住该看哪个。功能Provider 就像翻译官把每家监控平台的方言统一成普通话。在 Providers 页面挑一个填地址和凭证保存就连上了。支持两种模式告警源推给 Keepwebhook或者 Keep 定时去拉。推模式就是把 webhook 指到这个端点POST /alerts/event/prometheus Authorization: Api-Key YOUR_API_KEY效果不管告警从哪个平台来进来后统一变成同样的结构——severity、status、source列表页一眼看完。想自己接一个平台没覆盖的系统继承 BaseProvider 就行模板在 Provider 基类照着写个鉴权、查询、清理三个方法。用一条正则从告警正文里抠出工单号场景上游告警把客户 ID、工单号塞在自由文本里下游自动化想按工单号分派却拿不到结构化字段。功能提取规则Extraction就是干这个的——起个名字填目标属性、写正则还能加 CEL 条件限定只处理某类告警name: Extract customer ID attribute: customer_id regex: customer_id([A-Z0-9]) condition: source.contains(Datadog)效果这就像快递员从面单上摘出收件号码摘完直接写进告警属性后面的工作流、筛选、关联都能用上。Keep 去重规则别让重复告警被当成新事件场景同一个 monitor 一分钟内触发 30 次事件数原地起飞看板全是假繁荣。功能去重规则按指纹字段判断两条告警是不是同一个。哪几个字段算指纹你说了算还能勾选忽略字段比如description、lastReceived这种每次都变的name: datadog_default fingerprint_fields: [groups, name] full_deduplication: true效果去重像大楼门口的门禁ID 一样的人不管刷多少次卡都只记一次进场。重复告警变成同一条告警又响了一次而不是 30 个新事件。用 YAML 配置 Keep 工作流接管重复的工单动作场景收到告警 → 通知 Slack → 建 Jira 工单 → 更新状态这套动作如果全靠手值班的人光搬砖就搬一下午。功能工作流 触发器 动作。触发器可以是告警过滤条件、定时或手动动作就是调任意 Provider。条件判断支持 CEL 和模板变量triggers: - type: alert filters: [{ key: source, value: cloudwatch }] actions: - name: trigger-slack provider: { type: slack }效果写一次跑一辈子。嫌写 YAML 麻烦AI 工作流助手可以用一句每分钟查 CloudWatch 日志出错就发 Slack直接生成配置。现成写法可以翻 官方工作流示例几十个模板从 Jira 到 Kafka 都有。上手实操最小路径五步半小时能跑通拿代码git clone https://gitcode.com/GitHub_Trending/kee/keep一条命令拉起docker compose up -d前端在 3000 端口API 在 8080。浏览器打开http://localhost:3000进 Providers选 Prometheus填地址和密码保存连接。把告警源的 webhook 指向 Keep 的事件接口或者让 Keep 主动拉取curl -X POST -H Authorization: Api-Key $KEY \ http://localhost:8080/alerts/event/prometheus \ -d alert.json建一条工作流YAML 上传或 AI 助手生成选个触发器点一次手动运行验证。⚠️ 三个容易卡的点默认 compose 是免鉴权模式一旦开启 API Key 认证请求头必须带Authorization: Api-Key不然全是 401。前端 3000、API 8080、WebSocket 6001 三个端口要分别映射漏一个就是能连上但页面空白。Provider 类型名必须精确匹配比如prometheus拼错的话告警会静默走进死胡同。真实场景举例支付服务 critical 告警自动升级值班人问题凌晨 critical 告警响了值班人没在群里没人认领一拖就是半小时。配置思路仓库里有个incident-tier-escalation模板可以直接抄。触发器挂在事件的 created/updated 上第一次触发发 tier 0 到 Slack 并 值班人用enrich_incident把当前层级写回事件条件检测到层级还是 0 且又出了更重的告警就自动升到 tier 1leader。层级是事件上的字段升级判断全走条件表达式不需要写代码。结果值班人先被精准 15 分钟没响应 leader 自动被拉进来。这个谁管的来回沟通时间省掉了响应从平均 25 分钟压到 5 分钟以内。周五维护窗口静默数据库噪音问题周五晚上升数据库397 条非关键告警灌进来真出事反而淹在里头。配置思路建一条维护窗口规则CEL 过滤写service database选上开始时间和相对时长再决定被压制的告警还显示不显示在列表里。注意 Keep 刻意不压制 RESOLVED 和 ACKNOWLEDGED 状态这样升级期间告警照常能关闭事件流程不会断。结果我们当时就是这么干的——窗口期内 500 多条噪音归零窗口一结束告警自动恢复正常全程零人工清理。进阶技巧与避坑 划重点都是踩过坑之后才信的话用批量接口推告警别一条一条调高并发下 API 会先扛不住。读接口带上 ETag 条件请求没变过的数据别重复拉。打开KEEP_METRICS把 Keep 自己暴露给 Prometheus 再挂上 Grafana告警平台也得盯着自己。多团队用 RBAC 加独立 API Key按团队发最小权限别共用一个超级管理员。自研 Provider 记住三件事继承 BaseProvider、实现鉴权/查询/清理、在注册表里挂上少一步都跑不起来。长任务走异步接口拿X-Request-ID轮询状态别把请求吊在半空。选型参考适合什么样的团队监控源在 5 个以上、每天告警上千条、又想把通知、建工单、升级、静默这些动作自动化的团队Keep 基本就是为这个场景做的。部署上 Docker 或 Kubernetes 一把梭数据全在自己手里。和 PagerDuty 这类 SaaS 的核心差异一句话Keep 是开源自托管、工作流可以完全自定义你改代码改配置都自由代价是升级、扩容、安全都得自己管。规模小、求省事选 SaaS要可控和可改造选 Keep。下一步本地 Docker 跑起来先接上 Prometheus写第一条去重规则接一条 Slack 工作流告警还是那些告警只是从今往后只有真问题才会敲你的窗。【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表