云排障智能体实践:用问诊式诊断解决云服务器高频故障
一、缘起:排障经验是最难复制的资产
云服务器的故障排障,是一件非常“吃经验”的事情。安全组里明明已经放行了端口,外网却依然访问不了;磁盘毫无征兆地突然写满;SSH 突然连不上;CPU 毫无预兆地飙高;关键进程莫名其妙地异常退出。对经验丰富的运维同学来说,这些大多是“查两三个地方就能定位”的常规操作;但对新手来说,面对一片空白的终端,第一反应往往是:我到底应该先查什么?
这种经验断层,正是很多小故障演变成大事故的原因。于是我开始思考:能不能把这些排障经验结构化、产品化,让新手也能像老手一样一步步问诊、一步步定位?这就是这个“云排障智能体”的由来。
二、思路:把排障经验结构化为智能体的四阶段推理
我的做法,是把一次完整的排障过程抽象为智能体的四阶段推理链:
意图理解 → 信息收集 → 根因分析 → 处置方案
具体交互上,用户先选择遇到的症状类型;智能体随后像医生问诊一样逐题提问,每一题都给出要执行的检查命令(先让你跑一条命令,再根据输出决定下一步问什么);走完问诊流程后,智能体给出根因结论,并附上可直接执行的修复方案。整个过程不需要用户事先知道“该查什么”,跟着问题走就行。
三、实现:纯原生、零依赖、可离线打开
在实现上,我刻意选择了最“轻”的技术路线:
- 纯原生 HTML/CSS/JS,零依赖:不引入任何第三方库,单文件即可在浏览器中离线打开——在故障现场(可能连外网都没有的环境)也能用;
- 覆盖 5 类症状、28 个根因结论:症状覆盖云服务器高频故障场景,每个结论都经过整理和归类;
- 统一三段式结论:每个根因结论都包含三部分——根因说明、有序修复步骤、可一键复制的 Linux 命令。命令覆盖日常排障高频工具,如
ss -tlnp、systemctl status、ufw status、df -h、du、lsof +L1、journalctl --disk-usage等,复制粘贴即可执行。
四、码道实践:AI 生成首版 + 人工审查修正
在开发过程中,我把核心的“磁盘空间不足”诊断模块放到了华为云 AI 开发者空间中,用码道 CodeArts 生成了首版代码,共 221 行。AI 生成的速度确实快,但质量仍需人工把关——我在审查时发现了两个问题:
- systemd journal 被误归入了“日志类”结论,分类逻辑有误;
- 诊断树中有一个问题节点存在回边,破坏了纯树形结构。
带着这两个问题继续追问修正后,得到了 v1.1 版本:242 行,新增了“磁盘配额或预留空间”结论。用 Node 脚本校验:节点数、引用完整性、纯树形结构三项全部通过。这次实践让我更确信:AI 负责“生成初稿提速”,人负责“审查纠偏兜底”,才是当下最靠谱的人机协作模式。
五、进展与规划
目前,该作品已提交 2026 华为开发者大赛·智能体创新赛-中部赛区。后续规划有两个方向:一是接入大模型 API,实现自然语言症状理解,让用户可以直接用一句话描述故障,而不用先选症状分类;二是对接云 API,实现自动巡检与证据采集,把“问诊”升级为“体检”,在故障发生前就发现隐患。
如果你也在为云服务器排障发愁,欢迎交流:好的排障工具不应该是命令的堆砌,而应该是一套可被传承的经验结构。
- 点赞
- 收藏
- 关注作者
评论(0)