自然语言驱动的故障诊断实践
本文介绍如何通过智能会话,使用自然语言与SREAgent进行多轮对话,完成从告警发现到根因定位的完整故障诊断流程。文中包含SREAgent控制台入口和飞书入口两种场景的对话示例,以及 AI 回答不理想时的追问技巧。
前提条件
注意事项
- 故障诊断需要获取相关数据进行分析,通常需要 3-5 分钟。发起故障诊断后,任务会在后台自动执行,请勿关闭控制台页面。
- 同类问题建议在同一对话中连续追问;不同问题建议分多个会话分别进行问答。
- 请勿在对话过程中刷新浏览器,否则将导致 Agent 对话连接中断。
- SREAgent输出内容由大语言模型生成,因技术限制和大语言模型的特殊性,百度智能云无法保证本服务模型生成内容的完整性和准确性。请您谨慎判断生成内容,不过度依赖。若您根据生成内容作出的判断或行为导致您遭受任何损失,您将自行承担全部责任和后果。
业务场景
收到告警通知或发现系统异常时,需要快速定位问题根因。传统方式需要手动查询多个监控系统、日志平台和拓扑图,效率低且容易遗漏关联信息。SREAgent智能对话支持用自然语言描述问题,Agent会自动关联多源数据进行分析,将故障诊断的时间从数十分钟缩短至几轮对话。
诊断流程
故障诊断流程涵盖以下核心环节:
问题输入:通过 SREAgent 智能对话或飞书应用机器人发起对话,描述告警内容或异常现象。
数据关联:SREAgent 根据问题描述,自动查询 Prometheus 指标、BLS日志、拓扑关系等多源数据,进行综合分析。
多轮推理:基于首轮分析结果,SREAgent 可进一步提出检查方向,用户可通过追问引导分析向特定维度深入。
根因输出:输出包含异常指标、日志证据的根因分析报告,并提供修复建议。
操作步骤
环境确认
开始故障诊断前,请确认以下环境已就绪:
| 检查项 | 确认方式 |
|---|---|
| SREAgent已部署 | 在 SREAgent控制台左导航Agent探索查看CCE智能运维助手的状态是运行中。 |
| CCE集群已经接入可观测数据 | 在CCE集群确认已接入指标(Prometheus)、日志(BLS)、审计等数据源。 |
| 通知渠道已经创建好 | 在 SREAgent控制台左导航策略配置中已经配置好了通知渠道 |
| SREAgent已经绑定飞书IM渠道 | 在 SREAgent 控制台左导航的 Agent 探索中,确认 CCE 智能运维助手已绑定飞书 IM 渠道。 |
场景一:通过SREAgent智能对话入口进行故障诊断
SREAgent支持通过自然语言进行故障诊断,适合从告警触发逐步排查的场景。
对话示例:Pod 异常重启排查
以下是一个完整的多轮对话示例,展示如何从一条 Pod 重启告警出发,逐步定位根因并且将诊断报告发送至飞书群。
说明:
- 若需要将诊断报告单独发送给某个用户,Agent 需要获取该用户的 UserID,获取方式可参考文档;
- 若需要将诊断报告发送至某个飞书群,需先将应用机器人添加到该飞书群中,并通过群设置获取群聊的会话 ID。
第 1 轮:描述问题
1北京地域 ${集群名称} 最近 1 小时内有 Pod 频繁重启,帮我分析一下原因并且将诊断报告发送至飞书群xxxxx
SREAgent 将自动执行以下操作:
- 查询集群的 Pod 列表和重启次数。
- 检查重启 Pod 的容器退出码和最近日志。
- 分析 Pod 的资源使用趋势(CPU、内存)。
- 将诊断报告发送至飞书群
第 2 轮:深入追问
如果首轮分析显示 OOMKilled,可以继续追问:
1帮我看看这个 Pod 是什么原因导致的 OOM?
SREAgent 会进一步查询指标和请求日志,定位内存泄漏或大请求量导致的 OOM。
场景二:通过飞书机器人入口进行故障诊断
SREAgent 绑定飞书机器人后,支持通过飞书机器人入口进行故障诊断。
说明:
- 若需要在某个飞书群中进行对话,直接在群内 @ 已添加的飞书机器人即可发起对话。
- 若需要与飞书机器人单聊,直接打开机器人会话窗口即可发起对话。
对话示例:集群节点不可用排查
描述问题
1xx地域xx集群帮我诊断非可用节点原因。
追问技巧:提升 AI 诊断效果
当 AI 首轮回答不够深入或分析方向出现偏差时,可通过以下追问策略引导分析方向:
| 场景 | 追问示例 | 预期效果 |
|---|---|---|
| 方向偏差 | 「问题不在网络层,请重点排查应用层的错误日志。」 | 纠正分析方向,避免在无关维度上浪费时间。 |
| 缺少上下文 | 「这个组件在今天 14:00 刚做过一次升级,从xx版本升级xx版本,请结合此次变更重新分析。」 | 主动补充 AI 无法自动获取的业务上下文(如发布记录、配置变更等),提升分析准确性。 |
| 需要时间对比 | 「对比一下昨天同时段与今天的指标差异。」 | 通过基线对比发现异常偏移。 |
| 验证修复效果 | 「我已扩容 Pod 副本数,帮我确认延迟是否已下降。」 | 实时验证修复措施是否生效。 |
从诊断到持续跟踪
如果诊断发现的问题需要持续关注,您可以通过自动巡检进行自动化监控:
帮我创建一个自动巡检任务,每天自动巡检xx 地域xx集群中节点的内存使用情况和 Pod 健康状态。
SREAgent会引导您完成的创建自动巡检的规划。
评价此篇文章

