Keep 开源 AIOps 告警管理平台:从 0 到 5 分钟跑起来
2026/8/23 10:46:16 网站建设 项目流程

Keep 开源 AIOps 告警管理平台:从 0 到 5 分钟跑起来

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

凌晨 3 点,Prometheus、Datadog、CloudWatch 几乎同时找你:50 条告警涌进来,其中一半在说同一件事。Keep 是一个开源 AIOps 告警管理平台,把 100 多个监控工具的告警收进同一张表,做去重、关联,还能替你执行处理动作。本文先带你 5 分钟跑起来,再讲功能和生产部署。

它解决什么问题

告警体系常见的麻烦,基本集中在四件事上:

  • 📥来源分散:告警散落在云监控、APM、日志系统里,值班人要在多个控制台之间来回切。Keep 把它们汇聚到同一个面板里。
  • 🔁重复轰炸:同一个数据库挂了,上下游服务各报一次,刷屏的是告警,淹没的是真正的问题。Keep 提供去重、映射和关联,把重复噪音压下去。
  • 🤖缺上下文:告警只告诉你"出了事",不告诉你"跟什么有关"。Keep 用 AI 把相关告警聚成事件,并给出疑似根因。
  • 响应靠手动:重复故障每次都靠人肉处理。Keep 的工作流可以在告警触发的瞬间调用任意工具执行动作,人不用到场。
  • 🧭影响范围看不清:拓扑页把环境里组件的依赖关系画出来,出事的节点周围连着一串下游,一眼能看出波及面。

Docker 5 分钟部署 Keep

环境要求:装好 Docker 和 Docker Compose 的机器即可。

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

大约一分钟,容器全部起来。浏览器打开http://localhost:3000进入界面;默认 compose 是无鉴权模式,直接进。如果你改用带鉴权的docker-compose-with-auth.yml,默认账号密码是 keep/keep,登录后建议改掉。

进去之后,前 5 分钟可以按这个顺序玩:

  1. 连一个监控源:在 Providers 页面添加数据源,支持 webhook 直推,也支持 Datadog、Prometheus、Grafana 等拉取式接入。
  2. 看告警面板:在 Feed(告警表)确认数据真的进来了,顺手试试按严重度、状态过滤。
  3. 试一个工作流:Workflows 页面有 AI 助手,用一句自然语言就能生成工作流配置。
  4. 看服务拓扑:到 Service Topology 页,了解环境里组件的依赖关系。

四个值得看的功能

告警关联分析:AI 帮你把告警聚成事件

它做什么:Keep 的 AI 插件会基于历史告警和事件记录训练关联算法,判断哪些新告警应该归入已有事件,哪些是全新问题,阈值和训练轮次都可以在界面上调。

对你意味着什么:告警风暴时你不再需要一条条人肉归并——事件数量保持可控,执行日志里还能看到每次合并的依据,排查时先读事件再翻明细。

界面长什么样:配置页可以调训练精度阈值、关联阈值,下方就是每次运行的执行日志和合并结果。

服务拓扑:一张图看清依赖关系

它做什么:Service Topology 页把环境里的平台、服务、数据库、消息队列画成一张依赖图,节点上标着告警数。

对你意味着什么:API 服务报警时,你能顺着连线看到它压在哪个数据库上、又喂给了哪些下游,"还有谁受影响"这个问题不用再去问人。

界面长什么样:典型的拓扑长这样——Platform、API Service、DB、Kafka、Processor、Storage 之间的调用关系一目了然,带红点的节点就是正在报警的。

AI 工作流助手:说人话就能建自动化

它做什么:在 Workflow Builder 里输入一句需求,比如"每分钟查一次 CloudWatch 日志,发现 error 就发到我的 Slack",助手会把它拆成触发器、查询、条件判断、通知动作几步,逐步跟你确认。

对你意味着什么:不用记工作流 YAML 的每个字段,非开发同学也能把重复故障的处置逻辑固化成自动化。

界面长什么样:左侧是对话和生成的步骤说明,右侧同步渲染出触发器与步骤的可视化流程图。

统一告警面板:一张表处理所有告警

它做什么:所有来源的告警进同一张表,列上有名称、状态、最近收到时间、负责人,左侧是严重度、状态、来源、负责人等过滤维度,顶部还能写 CEL 表达式做自定义搜索。

对你意味着什么:批量勾选标记解决、改派、进事件,都在表格里直接完成,值班交接看一张表就够了。

界面长什么样:深色主题下的告警表,471 条告警按状态分组铺开,每行都能单独展开处理。

K8s 生产部署要点

生产环境建议直接上 Helm + Kubernetes:

helm repo add keep https://keephq.github.io/helm-charts helm install keep keep/keep -n keep --create-namespace

高可用主要盯三个配置项,改对应的 values 即可:

  • 副本数:backend 设 3 个副本,frontend 设 2 个,避免单点;
  • 资源配额:给 backend 和 frontend 都设 requests/limits,防止单实例把节点内存吃满;
  • 持久化:数据库开启持久化存储并配好容量,告警历史才不会丢。

另外,Keep 自带 OpenTelemetry 指标支持,把导出端点指到你的 collector,Keep 自身也能进你现有的监控大盘。

接入你的监控生态

Keep 内置 100 多个 provider,大致分五类:云平台监控(AWS CloudWatch、GCP Monitoring、Azure Monitor)、APM(Datadog、New Relic、Dynatrace)、日志与检索(Elasticsearch、Grafana Loki、Splunk)、通知渠道(Slack、Teams、邮件、Webhook),以及 AI 后端(OpenAI、Anthropic、DeepSeek、Ollama 等,给关联分析和工作流助手供能)。完整清单可以在仓库的 docs/providers 目录里按名字找。

工作流是 Keep 的自动化底座:YAML 定义,触发器可以是告警、定时或手动,动作可以调用任意 provider 的方法。最简形态大概 5 行:

workflow: id: cloudwatch-slack-notifier triggers: - type: alert filters: - key: source value: cloudwatch actions: - name: trigger-slack provider: type: slack config: "{{ providers.slack-prod }}" with: message: "Got alarm! {{ alert.name }}"

需要更多写法的话,仓库 examples/workflows 目录里有上百个现成例子,从定时任务到故障自愈都有,直接改 ID 和参数就能用。

落地路线建议

  • PoC(1-2 天):Docker 跑起来,接入一个真实数据源,验证告警能从进来到被处理。
  • 开发环境(约 1 周):开持久化,接齐团队在用的监控和通知渠道。
  • 预生产(约 2 周):上 Kubernetes,配好备份和监控,压一压告警量大的场景。
  • 生产(约 1 个月):多副本高可用、收紧访问控制,把高频故障的处置沉淀进工作流。

写在最后

告警管理这件事,难的不是"多一块屏",而是让涌进来的告警以你能处理的方式到达。Keep 把这个过程拆成了聚合、降噪、关联、自动化四步,且每一步都是开源可改的。

接下来三步:

  1. 克隆仓库,用 Docker Compose 把 Keep 跑起来;
  2. 接一个你最常看的数据源,让真实告警进面板;
  3. 用 AI 助手生成一个工作流,处理掉一类重复故障。

更多细节可以看仓库 docs/overview/introduction.mdx 入门文档,工作流写法参考 docs/workflows 目录。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询