holmesgpt
CNCF Sandbox 开源项目,AI 驱动的 SRE 事故调查 Agent,自动连接 K8s/Prometheus/Loki 等数据源定位根因
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
CNCF Sandbox 开源项目,AI 驱动的 SRE 事故调查 Agent,自动连接 K8s/Prometheus/Loki 等数据源定位根因
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样的场景:凌晨三点,你的手机震动——生产环境 K8s 集群中一个 Pod 陷入 CrashLoopBackOff,伴随数据库连接数飙升、Redis 缓存命中率骤降。传统的响应链路是:值班 SRE 被 pager 叫醒 → 登录各个监控平台抓数据 → 在 Slack 里来回 @人确认上下文 → 最终花 30~60 分钟定位根因。
HolmesGPT 正在改变这一切。它是 CNCF Sandbox 项目孵化的开源 AI Agent,能在告警触发后自动接管整个事故调查流程——从日志聚合、Kubernetes 资源拓扑分析、到根因推理和修复建议,全链路一气呵成。

图1:HolmesGPT 官方文档页面,展示 SRE Agent 的核心定位
现代 SRE 团队依赖数十种工具——Grafana 看监控、Sentry 抓异常、Loki/Tempo 查日志、Prometheus 拉指标、PagerDuty 处理告警。每个工具都是一座信息孤岛,数据格式和查询语法各不相同。当事故发生时,SRE 要在多个平台间跳转拼凑信息,这是最容易出错也最耗时的环节。
HolmesGPT 的诞生就是为了打破这个困局。项目于 2022 年启动(Stars 现已突破 2600),核心作者是来自多家科技公司的 SRE 和平台工程师。它被设计为工具链的统一入口层:用自然语言向它描述问题,它自动帮你查所有相关数据源,并给出结构化的调查结论。
2025 年 2 月,HolmesGPT 正式进入 CNCF Sandbox,标志着它从社区项目升级为企业级基础设施组件。CNCF 的背书意味着它已经通过了规模化部署和社区治理的考验。
HolmesGPT 不只是一个聊天机器人,它内置了丰富的数据源连接器:
| 数据源类型 | 支持产品 | 能力 |
|---|---|---|
| 监控/可观测 | Prometheus, Grafana, Datadog, PagerDuty | 指标查询、告警上下文 |
| 日志系统 | Loki, Elasticsearch, Sentry, ClickHouse | 日志全文检索和聚合 |
| 追踪系统 | Tempo, Jaeger | 分布式链路追踪 |
| 告警管理 | AlertManager, PagerDuty | 告警历史和升级链 |
| Issue 追踪 | Jira, Linear | 相关工单关联 |
| Kubernetes | API Server, etcd, kubelet | 资源拓扑、事件流 |
系统会智能编排这些数据源,将告警事件的上下文一次性汇聚到 Agent 的推理上下文中。SRE 不再需要在 5 个终端窗口之间来回切换。
2025 年最重磅的功能更新是 Operator Mode。传统 Agent 只能被动响应——需要人工触发才能工作。Operator 模式则让 HolmesGPT 作为 DaemonSet 运行在 Kubernetes 集群中,持续在后台巡检,主动发现问题。
典型场景:
这种"被动工具 + 主动巡检"的组合,让 HolmesGPT 真正成为了一个 AI SRE 同事,而非单纯的命令行工具。
项目使用 LiteLLM 作为统一 LLM 抽象层,支持几乎所有主流模型:
用户可以在 config.example.yaml 中自由切换 Provider,不影响工具调用逻辑。这种设计让组织可以在合规性、成本和性能之间灵活取舍。
HolmesGPT 的代码库采用了清晰的模块化架构:
holmesgpt/
├── holmes/ # 核心推理引擎
│ ├── agent.py # Agent 主循环(ReAct 模式)
│ ├── tools/ # 工具集插件目录
│ └── datasources/ # 数据源连接器
├── holmes_cli.py # CLI 入口(pip install 后直接用 holmes 命令)
├── server.py # FastAPI Web 服务入口
├── holmes_operator/ # Kubernetes Operator 实现
├── helm/holmes/ # Helm Chart(生产级部署)
├── docker-compose.yaml # 本地快速体验
└── pyproject.toml # Python 依赖管理
Agent 推理引擎基于 ReAct(Reason + Act)模式:Agent 接收用户问题 → 规划工具调用 → 执行并获取结果 → 观察反馈 → 决定下一步行动。这个循环持续直到问题被解决或达到最大步数限制。
数据源连接器采用插件化设计,新增数据源只需实现标准接口,不需要修改核心代码库。
FastAPI 服务层(server.py)将 HolmesGPT 封装为 REST API,支持 SSE 流式输出(SSE = Server-Sent Events),可以在 Web UI 上实时看到 Agent 的思考过程和工具调用日志。
图2:HolmesGPT 系统架构,展示了 Agent 与各数据源的连接关系
git clone https://github.com/HolmesGPT/holmesgpt
cd holmesgpt
export OPENAI_API_KEY=sk-... # 或其他 LLM API Key
docker compose up
# 访问 http://localhost:5050 即可看到 Web UI
一个 docker compose up 搞定所有依赖(HolmesGPT 服务 + 必要的 Loki/Tempo 等组件)。首次体验 15 分钟内可以完成。
对于真实生产环境,官方提供了完整的 Helm Chart:
helm repo add holmesgpt https://HolmesGPT.github.io/holmesgpt/charts
helm install holmesgpt holmesgpt/holmesgpt --set holmes.openai_api_key=sk-...
Helm Chart 支持配置数据源连接、LLM Provider、资源配额、Ingress 等生产级参数。Operator 模式也通过独立的 Helm Chart 部署为 DaemonSet。
HolmesGPT 提供两种交互方式,适合不同场景:
CLI 方式(holmes 命令)适合有经验的 SRE 和脚本化集成。可以接入 K9s 插件,在日常集群管理中随时调出 AI 助手,不需要切换浏览器 tab。
Web UI(浏览器访问 localhost:5050)提供图形化界面,SSE 流式输出让思考过程透明可见。适合团队演示、新人上手、以及需要记录调查过程的场景。
LLM 的幻觉问题是所有 AI SRE 工具的通病。HolmesGPT 可能自信地给出错误的根因结论。官方建议将 Agent 定位为辅助工具而非决策者——它负责聚合信息和提出假设,最终决策仍由人类做出。
使用 HolmesGPT 意味着将日志、告警、基础设施拓扑等敏感信息发送给 LLM Provider。如果使用 OpenAI/Claude 等第三方 API,需要确认合规要求。官方支持私有化部署(自建 LLM),但需要额外运维成本。
对于涉及多个子系统、多年技术债务、或需要业务上下文才能判断的复杂故障,当前版本的 Agent 推理能力仍有上限。Operator 模式的主动巡检更适合"规则明确的问题"(如 PVC 使用率超阈值),而非常规故障模式。
HolmesGPT 的出现代表了一种趋势:AI Agent 不再只服务于开发编码,也在深入运维和 SRE 领域。
从增长曲线看,CNCF Sandbox 的认证加速了它的曝光,GitHub Stars 突破 2600、贡献者超过 370 人,形成了健康的开源社区。项目背后的维护团队也在持续迭代——当前版本已到 0.31.1,平均每月都有功能更新。
对于中大型互联网公司,HolmesGPT 的 Operator 模式尤其有价值:它将 SRE 从重复巡检中解放出来,让人类专家专注于真正需要判断力的复杂故障。接入 GitHub 集成后,甚至可以构建"发现→自动修复→PR 审查"的闭环。
这是一场 SRE 工具链的静默革命。它还在早期,但它指向的方向——让 AI 成为 24/7 在线的基础设施同事——正在成为现实。