研究 AIOps 已有数月,目前手里有不少可落地的方案了,接下来会把这些方案全部整理到我的公众号里。欢迎大家关注,可以把你遇到的场景在评论区留言。我会在能力范围内给你提供思路和建议。
一、为什么我要做自动巡检?
说实话,干运维的都懂——每天早上第一件事就是各种巡检:
服务器 CPU、内存、磁盘使用率
数据库连接数、慢查询
应用服务状态、日志错误
备份任务是否成功
证书有没有快过期的
这一套下来,没一个小时根本搞不定。 而且时间长了,真的会麻木,万一漏看了什么重要告警,那就是生产事故。
最近想着能不能让 AI 帮我干这个活。还真让我找到了一个挺简单的方案:用 OpenClaw 写个自动巡检技能。
今天就把这个过程分享给大家,希望能给你一些启发。
二、前置条件
具体配置 OpenClaw 和飞书应用的过程我就不展示了,之前文章里写过挺多次的。主要需要这几个东西:
OpenClaw 环境(参考官网文档安装)
飞书应用(需要机器人权限)
一台能执行巡检命令的服务器(或者 SSH 权限)
核心思路: 让 OpenClaw 定时执行巡检脚本 → 收集结果 → 用大模型分析异常 → 推送报告到飞书
三、核心步骤
步骤 1:设计巡检技能结构
我的第一个提示词是这样的:
你是一个运维巡检助手,需要完成以下任务:1. 执行预定义的巡检命令(CPU、内存、磁盘、服务状态等)2. 分析结果,识别异常情况3. 生成结构化报告4. 通过飞书机器人推送请帮我设计一个 OpenClaw Skill 的目录结构和配置文件。
看看它的回复,给我生成了一个挺清晰的技能结构:
skills/auto-inspect/├── SKILL.md # 技能说明├── inspect.sh # 巡检脚本├── config.json # 配置(服务器列表、阈值等)└── report-template.md # 报告模板
步骤 2:编写巡检脚本
这是最核心的部分。我的脚本主要检查这些内容:
#!/bin/bash# auto-inspect/inspect.shecho "## 🖥️ 系统资源"echo "CPU 使用率:$(top -bn1 | grep 'Cpu(s)' | awk '{print $2}')%"echo "内存使用率:$(free | grep Mem | awk '{printf("%.2f", $3/$2 * 100.0)}')%"echo "磁盘使用率:$(df -h / | tail -1 | awk '{print $5}')"echo ""echo "## 🔧 服务状态"systemctl is-active nginxsystemctl is-active mysqlsystemctl is-active dockerecho ""echo "## 📋 最近告警"journalctl -p 3 -xb --since "24 hours ago" | tail -20
关键点: 输出格式要清晰,方便后续 AI 分析。
步骤 3:配置 OpenClaw Skill
在 SKILL.md 里定义技能的执行逻辑:
# auto-inspect Skill## 触发方式- 定时触发:每天 8:00 AM- 手动触发:在飞书群里 @机器人 说"开始巡检"## 执行流程1. 读取 config.json 中的服务器列表2. SSH 登录各服务器执行 inspect.sh3. 收集所有结果4. 调用大模型分析异常5. 生成报告并推送
步骤 4:让 AI 分析巡检结果
这一步是点睛之笔。我把巡检结果丢给大模型,让它帮我识别问题:
我的提示词:
以下是今天的运维巡检结果,请帮我分析:1. 有没有超过阈值的指标?2. 有没有需要立即处理的问题?3. 有没有潜在风险?巡检数据:[粘贴巡检脚本输出]请用简洁的语言总结,按优先级排序。
它的回复示例:
🔴 高优先级:服务器 prod-01 磁盘使用率 92%,建议立即清理🟡 中优先级:MySQL 慢查询数量比昨天增加 30%,建议检查索引🟢 正常:其他指标均在正常范围内
哇!这样我就不用自己盯着数据看了,AI 直接告诉我重点在哪里。
步骤 5:飞书推送报告
最后一步是把分析报告推送到飞书群。OpenClaw 的飞书集成已经配好了,直接调用 message 工具就行:
// 在 Skill 中调用await message.send({ channel: "feishu", target: "chat:xxx", message: reportContent})
报告格式我用了 Markdown,飞书渲染出来挺漂亮的:
用 emoji 区分优先级(🔴🟡🟢)
用代码块展示详细数据
用表格对比历史趋势
四、效果演示
来看下实际运行的效果:
每天早上 8 点,我会在飞书群里收到这样的消息:
📊 自动巡检报告 - 2026-04-14🟢 整体状态:正常📈 关键指标:| 服务器 | CPU | 内存 | 磁盘 ||---------|------|------|------|| prod-01 | 45% | 62% | 92% ⚠️ || prod-02 | 38% | 55% | 67% || prod-03 | 52% | 71% | 78% |🔍 AI 分析建议:1. prod-01 磁盘空间紧张,建议清理 /var/log 目录2. 其他服务器运行正常📎 详细报告:[飞书文档链接]
时间对比:
之前:手动巡检约 60 分钟/天
现在:AI 自动巡检 + 人工复核约 5 分钟/天
节省:55 分钟/天,相当于每周省出 4.5 小时
五、总结
最关键的步骤是让 AI 分析巡检结果,这一步直接把"看数据"变成了"看结论"。
几个经验:
巡检脚本要标准化,输出格式统一
阈值配置要灵活,不同服务器可以不同
AI 分析提示词要具体,告诉它关注什么
报告要简洁,领导只看重点
后续优化方向:
接入更多数据源(监控平台、日志系统)
增加预测性分析(基于历史数据预测问题)
自动执行修复脚本(比如自动清理磁盘)
顺便介绍下群内的运维大模型课:AI越来越成熟了,大模型技术需求量也越来越多了,至少我觉得这个方向要比传统的后端开发、前端开发、测试、运维等方向的机会更大,而且一点都不卷!
公众号后台私信咨询优惠(粉丝优惠力度大)
最后介绍下我的公众号:研究 AIOps 已有数月,目前手里有不少可落地的方案了,接下来会把这些方案全部整理到我的公众号里。如果你觉得这篇文章有帮助,欢迎关注,分享给更多运维伙伴。
夜雨聆风