System Monitor

Polar Sponsor
爱发电 赞助
.NET 9.0

跨平台系统监控工具,支持 Linux 和 Windows,监控硬盘、内存、CPU 使用情况,记录历史数据,支持变化对比和预警。**适合定时任务**。触发场景:(1) 定时系统健康检查(推荐每6小时),(2) 用户询问系统状态、资源使用情况,(3) 资源异常预警,(4) 查看历史监控数据对比。

System Monitor - 系统监控技能

功能概述

System Monitor - 系统监控技能是一项面向实际任务的技能,主要用于跨平台系统监控工具, 自动检测操作系统类型 ,支持 Linux 和 Windows,用于监控服务器硬盘、内存、CPU 使用情况,记录历史快照,支持变化趋势对比和异常预警;🎯 本技能特别适合定时任务使用 ,推荐频率:;

核心要点

  • 生产服务器:1-2 小时;
  • 个人服务器:2-4 小时;
  • 开发环境:6-12 小时;

使用与执行

💾 硬盘监控 - 检查硬盘使用率,支持预。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

System Monitor - 系统监控技能

跨平台系统监控工具,自动检测操作系统类型,支持 Linux 和 Windows,用于监控服务器硬盘、内存、CPU 使用情况,记录历史快照,支持变化趋势对比和异常预警。

🎯 本技能特别适合定时任务使用,推荐频率:

  • 生产服务器:1-2 小时
  • 个人服务器:2-4 小时
  • 开发环境:6-12 小时

功能特点

  • 💾 硬盘监控 - 检查硬盘使用率,支持预警阈值
  • 🧠 内存监控 - 检查内存和 Swap/页面文件使用情况
  • ⚙️ CPU 负载 - 监控 CPU 负载/使用率
  • 📊 进程监控 - 显示资源占用 TOP 进程
  • ⏱️ 运行时间 - 显示系统运行时长
  • 🌐 网络流量 - 监控网络接收/发送流量
  • 💿 磁盘 I/O - 磁盘读写速率和利用率(Linux)
  • 🐳 Docker 状态 - 容器运行/停止数量(Linux)
  • 🔧 服务状态 - 关键服务运行状态(MongoDB/MySQL/PostgreSQL/Docker/Nginx/OpenClaw)
  • 📜 历史记录 - 自动保存监控快照
  • 📈 趋势对比 - 对比历史数据,分析变化趋势
  • ⚠️ 异常预警 - 自动判断状态并预警
  • 🖥️ 跨平台支持 - 自动检测 Linux/Windows/macOS,调用对应脚本

配置说明

配置文件位置

配置文件按优先级查找:

  1. 环境变量指定: $SYSTEM_MONITOR_CONFIG
  2. 技能配置目录: ~/.openclaw/skills/config/skill-system-monitor/config.json ⭐ 推荐
  3. 技能安装目录: ~/.openclaw/skills/skill-system-monitor/config.json

推荐:使用技能配置目录(#2),独立于技能安装目录,卸载重装不会丢失配置。

快速配置

1. 复制示例配置:

mkdir -p ~/.openclaw/skills/config/skill-system-monitor
cp ~/.openclaw/skills/skill-system-monitor/config.example.json ~/.openclaw/skills/config/skill-system-monitor/config.json

2. 编辑配置:

nano ~/.openclaw/skills/config/skill-system-monitor/config.json

配置项说明

{
  "alerts": {
    "disk": {
      "warning": 70,      // 硬盘警告阈值 (%)
      "critical": 85      // 硬盘危险阈值 (%)
    },
    "memory": {
      "warning": 70,      // 内存警告阈值 (%)
      "critical": 85      // 内存危险阈值 (%)
    },
    "cpu": {
      "warning": 1,       // CPU 负载警告 (倍核心数)
      "critical": 2       // CPU 负载危险 (倍核心数)
    }
  },
  "monitor": {
    "disk": true,         // 是否监控硬盘
    "memory": true,       // 是否监控内存
    "swap": true,         // 是否监控 Swap
    "cpu": true,          // 是否监控 CPU
    "uptime": true,       // 是否显示运行时间
    "network": true,      // 是否监控网络流量
    "disk_io": true,      // 是否监控磁盘 I/O
    "docker": true,       // 是否监控 Docker
    "services": true,     // 是否监控关键服务
    "top_processes": 5    // TOP 进程数量
  }
}

禁用某些监控

如果不需要某些监控项,可以设置为 false:

{
  "monitor": {
    "disk_io": false,     // 不监控磁盘 I/O
    "docker": false,      // 不监控 Docker
    "services": false     // 不监控服务状态
  }
}

自定义服务监控(Linux)

服务监控使用 systemd,如需自定义,可在脚本中修改 check_service 函数。

自定义预警阈值

根据服务器配置调整阈值:

{
  "alerts": {
    "disk": {
      "warning": 80,      // 硬盘 80% 才警告
      "critical": 90      // 硬盘 90% 才危险
    },
    "memory": {
      "warning": 80,
      "critical": 90
    }
  }
}

使用方法

方式一:随时调用(手动触发)

直接运行监控脚本,获取当前系统状态:

# Linux / macOS(自动检测)
bash /path/to/skill-system-monitor/scripts/monitor.sh

# Windows (PowerShell)
powershell -ExecutionPolicy Bypass -File scriptsmonitor-windows.ps1

适用场景:

  • 用户询问"系统状态"、"服务器监控"、"资源使用情况"
  • 排查性能问题
  • 临时检查系统健康

方式二:定时任务(推荐)

通过 OpenClaw cron 配置定时监控,自动检测并报告:

{
  "name": "系统监控(每6小时)",
  "schedule": { "kind": "every", "everyMs": 21600000 },
  "payload": {
    "kind": "systemEvent",
    "text": "系统监控检查:运行监控脚本,报告系统状态,如有异常立即预警。"
  },
  "sessionTarget": "main"
}

适用场景:

  • 定期健康检查(建议每 6 小时)
  • 7x24 小时无人值守监控
  • 异常自动告警通知

方式三:对比历史数据

查看资源使用趋势变化:

bash scripts/compare.sh

输出示例:

📊 系统监控报告
==================
主机: wezn
时间: 2026-03-14 20:57:50
运行时间: up 1 day, 9 hours, 55 minutes

💾 硬盘状态
总容量: 69G | 已用: 45G (68%) | 可用: 22G
状态: ✅正常

🧠 内存状态
总内存: 4G | 已用: 2G (50%) | 可用: 2G
Swap: 1G/2G
状态: ✅正常

⚙️ CPU 负载 (4核)
1分钟: 0.01 | 5分钟: 0.03 | 15分钟: 0.00
状态: ✅正常

🌐 网络流量
接收: 360.2 MB | 发送: 385.9 MB

💿 磁盘 I/O
读: 0/s, 写: 0/s, 利用率: 0.0%

🐳 Docker 容器
运行: 0, 停止: 3

🔧 关键服务
MongoDB: ✅ | MySQL: ✅ | PostgreSQL: ✅
Docker: ✅ | Nginx: ✅ | OpenClaw: ✅

🔴 资源占用 TOP 5 (内存)
1. clawdbot-gateway - 1122M (30.1%)
2. node (fund) - 129M (3.4%)
3. mongod - 103M (2.7%)
...

对比历史数据

bash scripts/compare.sh

输出示例:

📈 变化趋势对比
==================
对比时间: 2026-03-14 14:00 → 2026-03-14 20:48

💾 硬盘: 71% → 68% (-3%)
🧠 内存: 55% → 49% (-6%)

查看历史记录

# 列出所有历史记录
ls history/

# 查看特定记录
cat history/2026-03-14_20-48.log

目录结构

skill-system-monitor/
├── SKILL.md              # 技能说明文档
├── scripts/
│   ├── monitor.sh        # 主监控脚本(自动检测 OS)
│   ├── monitor-linux.sh  # Linux 监控脚本
│   ├── monitor-windows.ps1 # Windows 监控脚本 (PowerShell)
│   └── compare.sh        # 对比脚本(分析变化趋势)
└── history/              # 历史记录目录
    ├── YYYY-MM-DD_HH-MM.json  # JSON 格式(用于对比)
    └── YYYY-MM-DD_HH-MM.log   # 文本格式(人类可读)

定时监控配置

推荐:通过 OpenClaw Cron 配置

使用 cron 工具配置定时监控任务:

{
  "name": "系统监控(每6小时)",
  "schedule": { "kind": "every", "everyMs": 21600000 },
  "payload": {
    "kind": "systemEvent",
    "text": "系统监控检查:请运行监控脚本,检查系统健康状态,如有异常立即报告。"
  },
  "sessionTarget": "main"
}

定时任务配置示例

每 6 小时监控(推荐):

{
  "name": "系统健康检查",
  "schedule": { "kind": "every", "everyMs": 21600000 },
  "payload": {
    "kind": "systemEvent",
    "text": "执行系统监控:运行 bash /home/app/.openclaw/skills/skill-system-monitor/scripts/monitor.sh,检查硬盘、内存、CPU、服务状态,如有异常立即预警。"
  },
  "sessionTarget": "main"
}

每天早上 9 点监控:

{
  "name": "每日系统报告",
  "schedule": { "kind": "cron", "expr": "0 9 * * *", "tz": "Asia/Shanghai" },
  "payload": {
    "kind": "systemEvent",
    "text": "每日系统报告:运行监控脚本,生成系统状态报告。"
  },
  "sessionTarget": "main"
}

预警行为

当监控发现异常时,会在报告中显示 ⚠️ 预警信息:

  • 硬盘使用率 ≥ 警告阈值(默认 70%)
  • 内存使用率 ≥ 警告阈值(默认 70%)
  • CPU 负载过高(> 2倍核心数)
  • 关键服务停止运行

预警级别:

  • ✅ 正常:资源使用在合理范围内
  • ⚠️ 警告:资源使用偏高,建议关注
  • 🔴 危险:资源使用过高,需要立即处理

注意事项

  1. 跨平台支持:脚本会自动检测操作系统,调用对应平台的监控命令
  2. 权限要求:
    • Linux: 需要读取 /proc 文件系统和执行 df, free 等命令
    • Windows: 需要运行 PowerShell 脚本的权限
  3. 历史记录:会持续累积,建议定期清理旧记录
  4. 预警阈值:可在脚本中根据实际情况调整
  5. 依赖工具:
    • Linux: bc(必需,用于 CPU 状态计算)、iostat(可选,磁盘 I/O)
    • 安装命令:apt install bc sysstat -y(Debian/Ubuntu)
    • Windows: 无额外依赖

适用系统

平台 支持状态 脚本文件
Linux (Ubuntu/Debian) ✅ 完全支持 monitor-linux.sh
Linux (CentOS/RHEL) ✅ 完全支持 monitor-linux.sh
Linux (Alpine) ✅ 完全支持 monitor-linux.sh
macOS ⚠️ 部分支持 monitor-linux.sh
Windows 10/11 ✅ 完全支持 monitor-windows.ps1
Windows Server ✅ 完全支持 monitor-windows.ps1
WSL ✅ 完全支持 monitor-linux.sh

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

0

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

0

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

0

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

0

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

0

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

0

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

0

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

0

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

0

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程