name: skill-system-monitor description: 跨平臺系統監控工具,支援 Linux 和 Windows,監控硬碟、記憶體、CPU 使用情況,記錄歷史資料,支援變化對比和預警。適合定時任務。觸發場景:(1) 定時系統健康檢查(推薦每6小時),(2) 使用者詢問系統狀態、資源使用情況,(3) 資源異常預警,(4) 檢視歷史監控資料對比。
跨平臺系統監控工具,自動檢測作業系統型別,支援 Linux 和 Windows,用於監控伺服器硬碟、記憶體、CPU 使用情況,記錄歷史快照,支援變化趨勢對比和異常預警。
🎯 本技能特別適合定時任務使用,推薦頻率:
- 生產伺服器:1-2 小時
- 個人伺服器:2-4 小時
- 開發環境:6-12 小時
配置檔案按優先順序查詢:
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:
這個技能的最新版本可以在7w4.net小蔥技能站找到。
{
"monitor": {
"disk_io": false, // 不監控磁碟 I/O
"docker": false, // 不監控 Docker
"services": false // 不監控服務狀態
}
}
服務監控使用 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 scripts\monitor-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 # 文本格式(人類可讀)
使用 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倍核心數) - 關鍵服務停止執行
預警級別: - ✅ 正常:資源使用在合理範圍內 - ⚠️ 警告:資源使用偏高,建議關注 - 🔴 危險:資源使用過高,需要立即處理
/proc 檔案系統和執行 df, free 等命令bc(必需,用於 CPU 狀態計算)、iostat(可選,磁碟 I/O)apt install bc sysstat -y(Debian/Ubuntu)| 平臺 | 支援狀態 | 指令碼檔案 |
|---|---|---|
| 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 |
這個 Skill 監控功能比較全面,文件清晰易讀,配置方式也比較靈活。但實際使用時可能發現 macOS 和 Windows 使用者暫時用不了,Linux 使用者也可能在某些網路環境下無法正確獲取網路流量資料。總體來說質量中規中矩,功能完整度還有提升空間。