面向生产环境事故调查与根因分析的 AI 智能体,支持 38+ 可观测性数据源集成与 7×24 被动巡检。
HolmesGPT 是一个 CNCF Sandbox 项目的开源 SRE 智能体,核心能力是通过 agentic loop 主动查询多个可观测性数据源,迭代推理出生产事故的根因。项目内置 38+ Toolsets,覆盖 Prometheus、Loki、Elasticsearch、Kubernetes、AWS/Azure/GCP、PagerDuty、Jira 等主流平台,同时支持通过 MCP 协议扩展。
核心能力#
根因分析引擎#
- Agentic Loop 推理:自主规划查询步骤,迭代调用数据源工具,逐步收敛至根因
- 结构化分段输出:支持 Alert Explanation、Conclusions and Possible Root Causes、Related Logs 等分段,每段 prompt 可自定义
- 多 LLM 支持:OpenAI、Anthropic、Azure AI Foundry、AWS Bedrock、Google Gemini/Vertex AI、Ollama、OpenRouter、GitHub Models、OpenAI-Compatible、Robusta AI 及自定义 Provider
大规模数据处理#
- 服务端过滤、JSON 树遍历、Tool Output Transformers,将大载荷排除在 LLM 上下文窗口之外
- Per-tool 内存限制、大结果流式写入磁盘、自动输出预算管理,防止查询 PB 级可观测数据集时 OOM
Operator 模式(7×24 被动巡检)#
- 以 Kubernetes Operator 形式后台持续运行健康检查
- 部署验证:与业务 Pod 同部署,新版本发布后自动验证服务健康状态
- 回归捕获:持续监控,在用户感知前发现问题
- 自动修复链路:发现问题 → Slack 通知 → 集成 GitHub 后可自动开 PR 修复
双向告警集成#
- 拉取:从 AlertManager / PagerDuty / OpsGenie / Jira 拉取告警触发调查
- 回写:将分析结果回写到源系统或推送至 Slack / Microsoft Teams
数据源覆盖#
| 类别 | 代表性数据源 |
|---|---|
| 指标/告警 | Prometheus、AlertManager、VictoriaMetrics |
| 日志 | Loki、Elasticsearch/OpenSearch、Splunk、Coralogix、VictoriaLogs |
| 分布式追踪 | Tempo、Datadog、NewRelic |
| 容器编排 | Kubernetes、OpenShift、ArgoCD、Helm、Docker |
| 云平台 (MCP) | AWS、Azure、GCP |
| 数据库 | PostgreSQL、MySQL、ClickHouse、MariaDB、SQL Server、MongoDB |
| 消息队列 | Kafka、RabbitMQ |
| 告警/工单 | PagerDuty、OpsGenie、Jira、ServiceNow、Sentry、Zabbix |
| 知识库/文档 | Confluence、Notion、Slab、Internet |
| CI/CD | GitHub、Jenkins (MCP) |
| 其他 | Crossplane、Robusta、Prefect (MCP)、Kubernetes Remediation (MCP)、Cilium、KubeVela |
架构要点#
- 模块结构:
holmes/主 Agent 逻辑与 Toolset 管理、holmes_operator/Kubernetes Operator 实现、experimental/ag-ui/实验性 Web UI、helm/Helm Chart - Toolset 抽象层:每个数据源实现为一组 tools,统一注册到 Agent;部分通过 MCP 协议外部接入
- LLM 统一接口:多 Provider 通过 OpenAI-Compatible 协议抽象为统一调用接口
- 安全设计:默认只读访问,遵循 RBAC 权限,设计为可在生产环境安全运行
- 依赖管理:Poetry 管理(pyproject.toml、poetry.lock),Pre-commit hooks 配置
- 基准测试:150+ 测试场景对比不同 LLM 在根因分析任务上的表现
安装与使用#
CLI 安装(Homebrew):
brew tap robusta-dev/homebrew-holmesgpt
brew install holmesgpt
Pipx 安装:
pipx install holmesgpt
快速使用:
export ANTHROPIC_API_KEY="your-api-key"
holmes ask "what is wrong with the user-profile-import pod?" --model="anthropic/claude-sonnet-4-5-20250929"
其他部署方式: Helm Chart(K8s Operator)、Docker Compose(HTTP Server)、Slack/Teams Bot(通过 Robusta)、Backstage 插件、K9s 插件、Python SDK
典型场景#
- 生产事故调查:接入告警(如 CrashLoopBackOff),自动查询 K8s 日志/事件/Prometheus 指标,输出根因分析与修复建议
- CI/CD 故障排查:分析构建日志、部署状态,定位 Pipeline 失败原因
- Prometheus 告警调查:自动查询相关指标、生成 PromQL 图表,解释告警含义
- 被动巡检:Operator 模式定时执行健康检查,在客户感知前发现问题
- 部署验证:新版本发布后自动验证服务健康状态,异常时回滚或通知
项目由 Robusta.Dev 创建,Microsoft 有重大贡献,以 Apache-2.0 许可证开源,当前最新版本 0.26.0。