大家好,我是小悟。
告别半夜被电话叫醒,让 AI 助手帮你 7×24 小时守护服务器!
一、需求背景
1.1 痛点场景
作为运维人员,你是否经历过这些崩溃时刻:
- 😱 凌晨 3 点,服务器 CPU 飙升到 100%,但没人发现,直到用户投诉
- 😰 线上服务宕机 2 小时,因为没有人及时感知到进程退出
- 😤 磁盘空间耗尽,数据库写入失败,造成数据丢失
- 😭 内存泄漏 导致 OOM,服务被强制杀死
传统的监控方案如 Zabbix、Prometheus 虽然功能强大,但:
- ❌ 配置复杂,学习成本高
- ❌ 需要额外部署服务器
- ❌ 维护负担重
- ❌ 中小团队用不起商业版
1.2 我们需要什么
一个轻量、智能、零成本的监控方案:
| 需求 | 说明 |
|---|---|
| ✅ 自动监测 | 无需人工干预,7×24 小时运行 |
| ✅ 实时告警 | 发现问题立即通知,支持多渠道 |
| ✅ 微信推送 | 运维人员最常用的沟通工具 |
| ✅ 灵活配置 | 可自定义监测指标和告警阈值 |
| ✅ 简单易用 | 无需专业知识,开箱即用 |
| ✅ 零成本 | 不需要额外购买服务器或服务 |
1.3 为什么选择 QClaw
QClaw 是腾讯推出的 AI 个人助手平台,天然具备以下优势:
| 特性 | 优势 |
|---|---|
| 🤖 AI 智能 | 可以理解自然语言,智能分析异常 |
| 🔌 Skill 体系 | 模块化扩展,按需安装功能 |
| ⏰ 定时任务 | 内置 Cron 调度,自动执行检查 |
| 🔒 安全可靠 | 本地运行,数据不外泄 |
| 💰 完全免费 | 无需购买额外服务 |
二、方案架构
2.1 整体流程
┌─────────────┐ SSH/API ┌──────────────┐
│ Linux 服务器 │ ←──────────────→ │ QClaw │
│ │ │ (本地/云端) │
│ - CPU/内存 │ │ │
│ - 磁盘/网络 │ │ - 定时检查 │
│ - 进程状态 │ │ - 规则判断 │
│ - 应用日志 │ │ - 异常检测 │
└─────────────┘ └──────┬───────┘
│
│ 发现异常
↓
┌──────────────┐
│ 企业微信 │
│ 机器人 │
│ │
│ 🚨 告警消息 │
└──────────────┘
│
↓
┌──────────────┐
│ 运维人员 │
│ 微信收到 │
└──────────────┘
2.2 核心组件
| 组件 | 作用 | 说明 |
|---|---|---|
| QClaw | 监控中心 | 运行在你的电脑或服务器上 |
| SSH 连接 | 数据采集 | 通过 SSH 远程执行命令获取数据 |
| 定时任务 | 调度引擎 | 使用 OpenClaw Cron 定时触发检查 |
| 企业微信机器人 | 消息推送 | 接收告警并推送到微信群 |
三、详细步骤
步骤 1:准备 Linux 服务器访问权限
1.1 确保可以通过 SSH 访问
# 测试 SSH 连接
ssh username@your-server-ip
# 如果使用密钥认证(推荐)
ssh -i ~/.ssh/your-key.pem username@your-server-ip
1.2 配置 SSH 密钥免密登录(可选但推荐)
# 生成密钥对(如果还没有)
ssh-keygen -t rsa -b 4096
# 将公钥复制到服务器
ssh-copy-id username@your-server-ip
# 测试免密登录
ssh username@your-server-ip 'echo "连接成功"'
1.3 记录服务器信息
请记录以下信息,后续配置需要使用:
服务器 IP:192.168.1.100(示例)
SSH 端口:22
用户名:root
认证方式:密钥 / 密码
步骤 2:创建企业微信机器人
2.1 在企业微信群中添加机器人
- 打开企业微信群聊
- 点击右上角
...→群机器人→添加机器人 - 给机器人命名,如"服务器监控告警"
- 复制 Webhook 地址
Webhook 格式:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2.2 测试机器人
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的key' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "测试消息:QClaw 监控已启动!"
}
}'
看到群内收到消息,说明配置成功。
步骤 3:配置 QClaw 监测任务
3.1 告诉 QClaw 你的需求
在 QClaw 中发送:
请帮我监测 Linux 服务器(IP: xxx.xxx.xxx.xxx,用户: xxx),检查以下指标:
1. CPU 使用率(超过 80% 告警)
2. 内存使用率(超过 85% 告警)
3. 磁盘使用率(超过 90% 告警)
4. 系统负载(Load Average > 4 告警)
5. Nginx 进程状态(如果退出则告警)
6. MySQL 进程状态(如果退出则告警)
每 5 分钟检查一次,发现问题发送到企业微信机器人。
3.2 提供企业微信 Webhook
企业微信 Webhook 地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx
3.3 QClaw 会自动帮你完成
QClaw 会自动:
- ✅ 创建 SSH 连接配置
- ✅ 编写监测脚本(检查各项指标)
- ✅ 设置告警规则和阈值
- ✅ 配置定时任务(Cron)
- ✅ 集成企业微信推送
- ✅ 开始第一次监测
步骤 4:监测脚本示例
QClaw 会生成类似以下的监测脚本:
#!/bin/bash
# QClaw 服务器监控脚本
# 服务器信息
SERVER_IP="192.168.1.100"
SERVER_USER="root"
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
# 告警消息
ALERT_MSG=""
# 检查 CPU 使用率
CPU_USAGE=$(ssh $SERVER_USER@$SERVER_IP "top -bn1 | grep 'Cpu(s)' | awk '{print \$2}' | cut -d'%' -f1")
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
ALERT_MSG+="⚠️ CPU 使用率过高: ${CPU_USAGE}%\n"
fi
# 检查内存使用率
MEM_USAGE=$(ssh $SERVER_USER@$SERVER_IP "free | grep Mem | awk '{print (\$3/\$2) * 100.0}'")
if (( $(echo "$MEM_USAGE > 85" | bc -l) )); then
ALERT_MSG+="⚠️ 内存使用率过高: ${MEM_USAGE}%\n"
fi
# 检查磁盘使用率
DISK_USAGE=$(ssh $SERVER_USER@$SERVER_IP "df -h / | tail -1 | awk '{print \$5}' | cut -d'%' -f1")
if [ "$DISK_USAGE" -gt 90 ]; then
ALERT_MSG+="⚠️ 磁盘使用率过高: ${DISK_USAGE}%\n"
fi
# 检查 Nginx 进程
NGINX_STATUS=$(ssh $SERVER_USER@$SERVER_IP "pgrep nginx | wc -l")
if [ "$NGINX_STATUS" -eq 0 ]; then
ALERT_MSG+="🚨 Nginx 进程已退出\n"
fi
# 检查 MySQL 进程
MYSQL_STATUS=$(ssh $SERVER_USER@$SERVER_IP "pgrep mysql | wc -l")
if [ "$MYSQL_STATUS" -eq 0 ]; then
ALERT_MSG+="🚨 MySQL 进程已退出\n"
fi
# 发送告警
if [ -n "$ALERT_MSG" ]; then
CURRENT_TIME=$(date '+%Y-%m-%d %H:%M:%S')
curl "$WEBHOOK_URL" \
-H 'Content-Type: application/json' \
-d "{
\"msgtype\": \"markdown\",
\"markdown\": {
\"content\": \"🚨 **服务器告警**\n\n**服务器**: $SERVER_IP\n**时间**: $CURRENT_TIME\n\n$ALERT_MSG\n请及时处理!\"
}
}"
fi
步骤 5:配置定时任务
5.1 让 QClaw 设置 Cron 任务
告诉 QClaw:
请帮我创建一个定时任务,每 5 分钟执行一次服务器检查
QClaw 会使用内置的 Cron 工具自动配置:
# QClaw 会执行类似以下命令
openclaw cron add \
--name "server-health-check" \
--schedule "every 5 minutes" \
--task "检查服务器状态并发送告警"
5.2 验证定时任务
# 查看已配置的定时任务
openclaw cron list
# 手动触发一次检查(测试)
openclaw cron run server-health-check
步骤 6:测试告警流程
6.1 模拟异常场景
# 在服务器上临时占用 CPU(测试 CPU 告警)
dd if=/dev/zero of=/dev/null &
# 在服务器上临时占用内存(测试内存告警)
dd if=/dev/zero of=/tmp/testfile bs=1M count=8000
6.2 验证微信收到告警
等待 5 分钟(或手动触发检查),你应该在企业微信群收到类似消息:
🚨 服务器告警
服务器:192.168.1.100
时间:2026-04-10 16:45:00
⚠️ CPU 使用率过高: 92.3%
⚠️ 内存使用率过高: 88.7%
请及时处理!
6.3 清理测试数据
# 停止 CPU 占用进程
killall dd
# 清理测试文件
rm /tmp/testfile
步骤 7:进阶配置
7.1 添加自定义监测项
告诉 QClaw:
请帮我添加以下监测:
1. 检查 /var/log/app/error.log 中是否有 ERROR 关键字
2. 检查 API 接口 https://api.example.com/health 是否返回 200
3. 检查 Redis 进程是否存活
4. 检查服务器连接数是否超过 1000
7.2 配置静默时段
夜间 0:00-6:00 只发送严重告警(进程退出),忽略 CPU/内存告警
7.3 多服务器监控
请帮我添加第二台服务器(IP: 192.168.1.101)的监控,监控项目和第一台一样
四、监控效果
4.1 正常情况
QClaw 每 5 分钟静默检查,无异常时不发送消息,不打扰运维人员。
4.2 异常告警
当发现问题时,立即推送到企业微信:
🚨 服务器告警
服务器:192.168.1.100
时间:2026-04-10 16:45:00
⚠️ CPU 使用率过高: 92.3%
⚠️ 内存使用率过高: 88.7%
🚨 Nginx 进程已退出
请及时处理!
4.3 多维度监控
| 监控项 | 告警阈值 | 检查频率 |
|---|---|---|
| CPU 使用率 | > 80% | 5 分钟 |
| 内存使用率 | > 85% | 5 分钟 |
| 磁盘使用率 | > 90% | 5 分钟 |
| 系统负载 | > 4 | 5 分钟 |
| Nginx 进程 | 退出 | 5 分钟 |
| MySQL 进程 | 退出 | 5 分钟 |
| 应用健康检查 | 非 200 | 5 分钟 |
| 错误日志 | 出现 ERROR | 5 分钟 |
五、常见问题
Q1: SSH 连接失败怎么办?
A: 检查以下几点:
- 服务器 IP 和端口是否正确
- 用户名是否正确
- 密钥文件权限是否正确(
chmod 600 ~/.ssh/key.pem) - 服务器是否允许 SSH 连接(防火墙规则)
Q2: 企业微信收不到消息?
A: 检查以下几点:
- Webhook 地址是否正确
- 机器人是否被移除出群
- 消息格式是否符合企业微信规范
- 网络是否能访问
qyapi.weixin.qq.com
Q3: 如何修改告警阈值?
A: 直接告诉 QClaw:
请把 CPU 告警阈值改为 90%,内存告警阈值改为 95%
Q4: 如何临时关闭监控?
A:
请暂停服务器监控定时任务
Q5: 如何查看历史告警记录?
A:
请显示最近 24 小时的告警记录
六、方案优势总结
6.1 相比传统监控方案
| 对比项 | 传统方案 (Zabbix/Prometheus) | QClaw 方案 |
|---|---|---|
| 部署复杂度 | 需要独立服务器,安装配置复杂 | 零部署,开箱即用 |
| 学习成本 | 需要学习专业知识 | 自然语言配置 |
| 维护成本 | 需要专人维护 | 自动化,零维护 |
| 告警渠道 | 需要配置 | 原生支持微信 |
| 智能程度 | 规则告警 | AI 智能分析 |
6.2 核心优势
- 🚀 零门槛
- 无需专业知识
- 自然语言配置
- 开箱即用
- 💰 低成本
- 无需购买服务器
- 无需购买监控服务
- 🤖 AI 智能
- 自动生成监测脚本
- 智能分析异常
- 自然语言交互
- 📱 即时告警
- 微信实时推送
- 多维度监控
- 精准告警
- 🔧 灵活扩展
- 自定义监测项
- 自定义告警规则
- 支持多服务器
七、总结
通过 QClaw,我们用最简单的方式实现了企业级的 Linux 服务器监控:
5 分钟 → 完成配置
0 成本 → 永久免费
微信告警 → 即时触达
AI 智能 → 自动分析
适合人群:
- ✅ 中小团队运维
- ✅ 个人开发者
- ✅ 创业公司
- ✅ 学生项目
不适合场景:
- ❌ 大规模集群监控(100+ 服务器)
- ❌ 需要专业监控报表
- ❌ 复杂的告警路由规则
八、立即开始
你只需要:
- 一台能访问 Linux 服务器的电脑
- 一个企业微信账号
- 5 分钟时间
然后告诉 QClaw:
"请帮我监测 Linux 服务器..."
剩下的,交给 AI 就好!🎉
#腾讯云OpenClaw玩虾大赛#
谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。
您的一键三连,是我更新的最大动力,谢谢
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海