资讯详情

资讯详情

keep告警管理平台完整指南:一条命令部署,把100多个监控源收进一个“收件箱“

keep告警管理平台完整指南一条命令部署把100多个监控源收进一个收件箱【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keepkeep 是一个开源 AIOps 和告警管理平台它把散落在 Prometheus、Grafana、Datadog 等监控工具里的告警汇聚到同一张列表里并在此基础上做告警去重、关联分析把一堆相关告警归成一个事件和自动化工作流让你少刷十几个网页、少点几十次知道了。本文带你从部署到写第一条工作流全程不超过 10 分钟。故障一来300条告警同时炸响想象一下数据库主库挂了Prometheus 报了 50 条、监控平台又报 30 条、Sentry 弹出 10 个错误值班同学要在四个网页之间来回切手动判断到底是不是同一件事。这是大多数团队的日常告警不是不够多而是太散、太吵、没法直接变成动作。keep 解决的正是这三件事——收敛重复告警合并成一条、归组相关告警关联成一个事件、行动触发自动化流程而不是等人去点。上面是 keep 的统一告警视图所有来源的告警进同一张表可以按严重级别、状态、来源、指纹字段筛选和排序。三步跑起来keep 官方提供 Docker Compose 编排后端 API 跑在 8080 端口Web 界面跑在 3000 端口。第一步克隆仓库git clone https://gitcode.com/GitHub_Trending/kee/keep cd keep第二步启动容器docker-compose up -d第三步浏览器打开http://localhost:3000默认是免登录模式AUTH_TYPENO_AUTH进去就能看到告警列表页面。两个容易踩的点数据默认存在宿主机./state目录里的 SQLite 文件中DATABASE_CONNECTION_STRINGsqlite:////state/db.sqlite3想保留告警历史就别随意删这个目录。生产环境建议改用带认证的编排文件docker-compose-with-auth.yml把AUTH_TYPE换成 LDAP/OIDC 等别把免登录版本暴露到公网。告警怎么进 keep推和拉两种姿势接入监控源时keep 给了两条路详见 docs/ 里的 Push vs Pull 文档推送Push官方推荐在 keep 里安装某个 Provider集成插件时勾选Install Webhookkeep 会自动去你的工具里建好 webhook 联系人——比如接 Grafana 时它直接帮你创建一个新的 Webhook contact point 和 Notification Policy。实时性好而且只有推送进来的告警才能完整触发工作流这是它比拉取强的一点。拉取Pullkeep 按固定间隔反向抓取工具里的告警间隔由环境变量KEEP_PULL_INTERVAL控制。适合先快速导入存量告警、摸清数据长什么样但它不参与自动化链路。两行配置接入 Prometheus以最常见的 Prometheus 为例只需让它的告警指向 keep 的后端。在prometheus/prometheus.yml仓库里prometheus/prometheus.yml有现成模板中alerting: alertmanagers: - static_configs: - targets: - keep-backend:8080如果你在同一个 compose 网络里运行 Prometheuskeep-backend:8080直接可用独立部署时换成 keep 后端的实际地址即可。之后 Prometheus 每次触发规则告警就会实时出现在 keep 的列表里。20行YAML写一条告警自动化工作流keep 的工作流引擎由三部分组成triggers什么时候跑、steps中间要查询/处理什么、actions最终对外做什么。仓库里 examples/workflows/ 目录有上百个可直接抄的示例最小的一条告警即建 Jira 工单长这样workflow: id: jira-create-ticket-on-alert name: Create Jira Ticket on Alert triggers: - type: alert cel: status firing actions: - name: jira-action if: not {{ alert.ticket_id }} provider: type: jira config: {{ providers.JiraCloud }} with: summary: {{ alert.name }} - {{ alert.description }}读懂它只需三件事triggers里type: alert表示任何新告警进来就触发cel是用 CEL 表达式一种安全的表达式语言做的过滤条件这里只处理firing状态的。if: not {{ alert.ticket_id }}是防重复的关键——已经建过工单的告警不会二次创建。enrich_alert示例完整版里有可以把工单 ID 回写到告警字段上这就是双向集成的含义keep 不只是收告警还会反过来改源工具里的数据。条件判断之外还支持 foreach 循环、内置函数如is_business_hours判断是否工作时间和上一步输出的上下文复用写工作日才发通知、节假日转邮件这类逻辑不用自己造轮子。进阶让AI帮你把告警收拢成事件去重deduplication是内置的每个 Provider 自带默认指纹字段fingerprint fields同一条告警反复触发会被合并完全相同的事件默认直接丢弃防止重复事件把列表刷爆。在去重之上是关联分析手动规则可以把满足条件的告警组比如来源是 Prometheus 且严重级别为 critical自动归组成一个 incident而 AI 关联则让大模型OpenAI、Anthropic、本地 Ollama 等都支持判断一批告警之间是否有因果关系甚至自动生成事件总结。一个实用的组合玩法先用去重把噪声压下去再用手动规则把确定相关的告警归组把拿不准的那批留给 AI 关联——这样既省 token 又省人肉判断。上线前的检查清单认证确认AUTH_TYPE已切换为 LDAP/OIDC而不是NO_AUTH持久化./state目录已做备份策略SQLite 库和密钥都在里面推送优先核心数据源全部用 webhook 推送接入保证工作流能实时触发去重规则抽查几个高频告警确认指纹字段合理没有被错误合并工作流兜底通知类 action 建议加if条件避免告警风暴时把 Slack 打爆keep 更新很快新 Provider 和功能可以盯着仓库的 CHANGELOG.md 看缺哪个监控集成直接提 Issue 请求 Provider官方响应挺积极。【免费下载链接】keepThe open-source AIOps and alert management platform项目地址: https://gitcode.com/GitHub_Trending/kee/keep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →