当前位置:首页>Linux>运维福音!用 QClaw 搭建 Linux 服务器监控系统,异常自动推送到微信

运维福音!用 QClaw 搭建 Linux 服务器监控系统,异常自动推送到微信

  • 2026-09-02 19:09:37
运维福音!用 QClaw 搭建 Linux 服务器监控系统,异常自动推送到微信

点击▲关注 “悟空码字”   给公众号标星置顶

更多精彩 第一时间直达

大家好,我是小悟。

告别半夜被电话叫醒,让 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 -b4096# 将公钥复制到服务器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 在企业微信群中添加机器人

  1. 打开企业微信群聊

  2. 点击右上角 ... → 群机器人 → 添加机器人

  3. 给机器人命名,如"服务器监控告警"

  4. 复制 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 会自动:

  1. ✅ 创建 SSH 连接配置

  2. ✅ 编写监测脚本(检查各项指标)

  3. ✅ 设置告警规则和阈值

  4. ✅ 配置定时任务(Cron)

  5. ✅ 集成企业微信推送

  6. ✅ 开始第一次监测


步骤 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"-gt90 ]; then  ALERT_MSG+="⚠️ 磁盘使用率过高: ${DISK_USAGE}%\n"fi# 检查 Nginx 进程NGINX_STATUS=$(ssh $SERVER_USER@$SERVER_IP "pgrep nginx | wc -l")if [ "$NGINX_STATUS"-eq0 ]; then  ALERT_MSG+="🚨 Nginx 进程已退出\n"fi# 检查 MySQL 进程MYSQL_STATUS=$(ssh $SERVER_USER@$SERVER_IP "pgrep mysql | wc -l")if [ "$MYSQL_STATUS"-eq0 ]; then  ALERT_MSG+="🚨 MySQL 进程已退出\n"fi# 发送告警if [ -n"$ALERT_MSG" ]; thenCURRENT_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 是否返回 2003. 检查 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 分钟
系统负载> 45 分钟
Nginx 进程退出5 分钟
MySQL 进程退出5 分钟
应用健康检查非 2005 分钟
错误日志出现 ERROR5 分钟

五、常见问题

Q1: SSH 连接失败怎么办?

A: 检查以下几点:

  1. 服务器 IP 和端口是否正确

  2. 用户名是否正确

  3. 密钥文件权限是否正确(chmod 600 ~/.ssh/key.pem)

  4. 服务器是否允许 SSH 连接(防火墙规则)

Q2: 企业微信收不到消息?

A: 检查以下几点:

  1. Webhook 地址是否正确

  2. 机器人是否被移除出群

  3. 消息格式是否符合企业微信规范

  4. 网络是否能访问 qyapi.weixin.qq.com

Q3: 如何修改告警阈值?

A: 直接告诉 QClaw:

请把 CPU 告警阈值改为 90%,内存告警阈值改为 95%

Q4: 如何临时关闭监控?

A:

请暂停服务器监控定时任务

Q5: 如何查看历史告警记录?

A:

请显示最近 24 小时的告警记录

六、方案优势总结

6.1 相比传统监控方案

对比项传统方案 (Zabbix/Prometheus)QClaw 方案
部署复杂度需要独立服务器,安装配置复杂零部署,开箱即用
学习成本需要学习专业知识自然语言配置
维护成本需要专人维护自动化,零维护
告警渠道需要配置原生支持微信
智能程度规则告警AI 智能分析

6.2 核心优势

  1. 🚀 零门槛

    • 无需专业知识

    • 自然语言配置

    • 开箱即用

  2. 💰 低成本

    • 无需购买服务器

    • 无需购买监控服务

  3. 🤖 AI 智能

    • 自动生成监测脚本

    • 智能分析异常

    • 自然语言交互

  4. 📱 即时告警

    • 微信实时推送

    • 多维度监控

    • 精准告警

  5. 🔧 灵活扩展

    • 自定义监测项

    • 自定义告警规则

    • 支持多服务器


七、总结

通过 QClaw,我们用最简单的方式实现了企业级的 Linux 服务器监控:

5 分钟 → 完成配置0 成本 → 永久免费微信告警 → 即时触达AI 智能 → 自动分析

适合人群:

  • ✅ 中小团队运维

  • ✅ 个人开发者

  • ✅ 创业公司

  • ✅ 学生项目

不适合场景:

  • ❌ 大规模集群监控(100+ 服务器)

  • ❌ 需要专业监控报表

  • ❌ 复杂的告警路由规则


八、立即开始

你只需要:

  1. 一台能访问 Linux 服务器的电脑

  2. 一个企业微信账号

  3. 5 分钟时间

然后告诉 QClaw:

"请帮我监测 Linux 服务器..."

剩下的,交给 AI 就好!🎉


相关链接

  • QClaw 官网:https://qclaw.qq.com

  • OpenClaw 文档:https://docs.openclaw.ai

  • 企业微信机器人文档:https://developer.work.weixin.qq.com/document/path/91770

谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。

实用系统推荐

微信支付直连商户,自动处理消费者投诉,支持多微信商户号
可以帮助商户更好地处理消费者投诉,提升用户满意度,提高处理效率,满足用户需求。支持多微信支付商户号,不需要频繁登录微信支付商户平台就能完成处理。

您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海
欢迎大家关注【悟空码字】公众号

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完给个“赞”,点个“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里哦。点“在看”支持一下吧!

最新文章

随机文章