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

谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。
您的一键三连,是我更新的最大动力,谢谢
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海











