乐于分享
好东西不私藏

3.1K Star!开源 AI 运维工具,真能将告警、日志和指标,构建成故障线索?

3.1K Star!开源 AI 运维工具,真能将告警、日志和指标,构建成故障线索?

★ 点击名片,关注我们不迷路 ★

如果 AI 已经能帮我们看 Kubernetes 资源异常了,那再往前走一步,它能不能帮运维调查一次真正的生产故障?这里我说的不是自动修复。生产故障刚发生的时候,最怕的不是没人执行命令,而是大家还没看清现场,就已经开始猜原因。

告警在 Alertmanager 里、指标在 Prometheus 里、日志在 Loki 或 ELK 里、服务状态在 Kubernetes 里,最近一次发布记录可能在 Argo CD、GitHub、GitLab 或 Jenkins 里。

再加上值班群里的几句描述,整个现场很容易碎成一地。这时候 AI 如果直接说“我来修”,我一般不敢信。但如果它能先帮我把证据捞出来,告诉我它看到了哪些异常、这些异常之间有没有关系、下一步应该查什么,这个方向就比较靠谱。

一、HolmesGPT 是什么

HolmesGPT 是一个开源的 SRE Agent。官方对它的定位很直接:用来调查生产环境故障并帮助定位根因。它支持任何 Kubernetes,也可以连接虚拟机、云服务、数据库、SaaS 平台和各种可观测性系统(目前为 CNCF 沙盒项目)。

从运维角度看,我更愿意把它理解成一个“排障调查助手”。它不是替你点重启按钮的人。它更像是值班时坐在旁边的人,你问它:

这个服务为什么不健康? 这个 Pod 为什么起不来? 当前有哪些 Prometheus 告警? 这个 namespace 里最近有什么异常? 

然后它会去查自己能访问的数据源。

Kubernetes 资源状态、Pod 日志、Prometheus 指标、Grafana 面板、Loki 日志、Datadog、AlertManager、PagerDuty、Jira、GitHub、GitLab、Jenkins,这些都在它官方列出的集成范围里。

HolmesGPT:围绕一次事故,把告警、指标、日志、资源状态和变更信息串起来看。这个方向很像真实运维现场。

二、它解决的是哪一段问题

我觉得 HolmesGPT 解决的不是“最后怎么修”,而是“前面怎么查”。

很多线上故障,真正耗时间的是前 10 到 20 分钟。告警来了,先看哪个服务?是应用问题,还是 Kubernetes 调度问题?是新版本引入的,还是依赖服务挂了?是流量变大了,还是资源限制太小?这些问题都不难,但现场信息分散的时候,人会很容易绕。

尤其是凌晨值班。人一困,第一反应就容易去翻自己最熟悉的地方。熟悉日志的人先看日志,熟悉 Prometheus 的人先看指标,熟悉 Kubernetes 的人先 kubectl describe。这些动作都没错。问题是,它们未必是这次故障最短的路径。

HolmesGPT 的价值:它可以先按一个 Agent 的方式去调用工具,查资源、查日志、查指标、查告警,再给出一个排查结论。这个结论不一定百分百对。但如果它能把证据列出来,就已经有用了。比如告诉你:

  • 某个 Deployment 的 Pod 正在 CrashLoopBackOff;
  • Pod 之前的日志里出现数据库连接超时;
  • 同一时间 Prometheus 里数据库连接数打满;
  • 最近一次发布刚好改过连接池参数。

三、先跑起来看看

macOS 或 Linux 可以用 Homebrew:

brew tap robusta-dev/homebrew-holmesgpt brew install holmesgpt holmes ask --help 

入门阶段,我建议先用本地 kubeconfig 测试。先确认当前 kubectl 指向的是你想看的集群:

kubectl config current-context 

然后配置模型 API。HolmesGPT 通过 LiteLLM 调用大模型,也支持 OpenAI 兼容接口。(模型必须支持 Function Call)

3.1 跑一次测试

配置完成后,先问一个具体问题:

holmes ask "请用中文检查当前集群中状态异常的 Pod,说明异常原因,并列出判断依据。" 

如果你想按官方 walkthrough 做一次测试,可以创建一个有问题的测试 Pod:

kubectl apply -f https://raw.githubusercontent.com/robusta-dev/kubernetes-demos/main/pending_pods/pending_pod_node_selector.yaml 

再让 HolmesGPT 调查:

holmes ask "请用中文调查 user-profile-import Pod 为什么无法调度,并给出证据和建议的处理步骤。" 

这一步跑通以后,你基本就能理解它的工作方式了。

四、我会怎么在生产里用

我会先放在三个位置。

第一个位置:只读排查。

给它一个只读权限的 kubeconfig 或 ServiceAccount,让它只能看资源、看日志、查指标,不允许改资源。

先在测试集群或预发集群跑。我关心的不是它回答得多漂亮,而是它有没有稳定找到真实异常,有没有乱推断,有没有把无关信息说成根因。

第二个位置:告警辅助分析。

比如 Alertmanager 里来了一个服务不可用告警,不要直接让 HolmesGPT 修。可以让它先回答几个固定问题:

你看到了哪些异常? 这些异常来自哪些数据源? 你认为最可能的方向是什么? 下一步建议人工检查哪几个点? 

这个提示词比“帮我解决这个故障”更适合生产环境。因为它把工具限制在调查和建议层。

第三个位置:事故复盘素材。

很多事故结束后,大家才发现现场证据没有留好。当时 Pod 是什么状态?有没有重启?当时的错误日志是什么?Prometheus指标有没有一起抖?

如果 HolmesGPT 的调查过程能保留下来,它可以成为复盘材料的一部分。

五、它比普通脚本强在哪里

以前我们也会写巡检脚本。脚本查 Pod 状态、查重启次数、查 PVC、查 Node、查证书过期、查磁盘、查资源配额。

但脚本的问题也明显:它只会按你写好的规则工作。规则里没写,它就看不到。HolmesGPT 这类工具多了一层 Agent 调用能力。它可以根据问题决定下一步查什么,而不是固定跑一串命令。

比如你问的是 Pod 为什么不健康,它可能会先查 Pod 状态,再看 Event,再看日志,再看相关 Deployment。如果你接了 Prometheus,它还可能去看指标。这个过程有点像一个有经验的运维在排障,只不过它的判断质量取决于工具配置、数据质量和模型能力。所以我不会说它替代脚本。

更合适的关系是:脚本负责稳定巡检,HolmesGPT 负责临时调查。

六、真用的时候,别跳过这些边界

第一,不要让它一开始就有写权限。

HolmesGPT 官方有 Kubernetes Remediation 相关能力,可以做扩缩容、回滚、修改资源等动作。但这类能力不适合一上来就在生产环境打开。先只读。等团队对它的输出质量、审计方式、回滚流程都熟了,再讨论能不能进入执行层。这个顺序不要反。

第二,注意数据出网和敏感信息。

虽然 Kubernetes 工具集默认排除 secrets,但日志里可能有 token、内部域名、用户信息、数据库错误、接口路径。如果公司对数据出网有要求,就要考虑本地模型、内网模型,或者先做脱敏。不要因为工具看起来方便,就把生产日志整包丢给外部模型。

第三,AI 给的是调查结论,不是事故定责。

它可以说“我观察到这些现象,所以怀疑某个方向”。但最终根因要靠++证据闭环++。有没有发布记录?有没有指标拐点?有没有日志时间线?有没有回滚验证?这些东西缺一块,结论就不要写得太死。

第四,别让新人绕过基础能力。

这类工具对新人很有帮助。但帮助的方式应该是让新人更快理解现场,而不是让新人不用学 Kubernetes、Prometheus、日志和发布流程。比较好的用法是:先看 HolmesGPT 的结论,再用 kubectl describe、kubectl logs、PromQL 和原始日志去验证。

验证几次,比单纯看 AI 输出更长本事。

七、最后的判断

HolmesGPT 比 K8sGPT 更像一个面向事故调查的 AI 运维助手。K8sGPT 的入口更聚焦 Kubernetes 资源诊断。HolmesGPT 的野心更大,它想把告警、日志、指标、资源状态、工单和代码平台都接进一次调查里。这个方向我觉得值得关注。但在生产环境里,我对这类工具的态度还是那句话:

先让它读。 再让它解释。 再让它建议。 最后才讨论能不能执行。 

如果你现在已经在用 K8s、Prometheus、Loki 或 Grafana,又想试试 AI 在运维排障里到底能不能帮上忙,HolmesGPT 可以作为 K8sGPT 之后的下一个工具来看。

不要指望它一上来替你处理事故。先让它帮你把现场看清楚。这一步做好,已经能省不少时间。

地址:github.com/HolmesGPT/holmesgpt


2026年,想了解过国内大厂运维/研发/测试 AI Agent 企业级落地指南?GOPS 2026・上海站(10.16-17),扫码锁定早鸟票👇

近期好文:

弃用 Docker Desktop!开源、更强大、轻量的替代神器来了?

金融 SRE 如何从零构建多 AI Agent ,实现效能助推?

IT运维17个常用指标,不懂 AI 也得张口就来?

“高效运维”公众号诚邀广大技术人员投稿

投稿邮箱:jiachen@huayou-tech.com,或添加联系人微信:greatops1118。

“点赞+“红心”,让我元气满满