服务器监控

v1.0.0

监控服务器CPU、内存、磁盘、负载和网络资源,支持阈值告警和定时检查,无需额外安装,基于Linux原生命令。

0· 135·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for yinsuso/yinsuso-server-monitor.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "服务器监控" (yinsuso/yinsuso-server-monitor) from ClawHub.
Skill page: https://clawhub.ai/yinsuso/yinsuso-server-monitor
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install yinsuso-server-monitor

ClawHub CLI

Package manager switcher

npx clawhub@latest install yinsuso-server-monitor
Security Scan
Capability signals
Crypto
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
技能名称与描述(监控 CPU/内存/磁盘/网络/负载、阈值告警、定时检查)与 SKILL.md 中列出的命令和流程一致。它仅使用常见的本地命令(top、free、df、ps、uptime、/proc 等),未请求与目的无关的凭证或外部服务。
Instruction Scope
所有示例命令均为只读的系统状态查询,范围限于本机资源指标;这与技能声明一致。但文档提到“记录告警信息”和“发送告警消息(如用户配置)”,未说明告警记录与通知的具体位置或渠道。若与外部通知(如 universal-notify)集成,需要额外授权/凭据,安装前应确认通知目标与数据流向。
Install Mechanism
无安装规范、无代码文件——纯说明性技能(instruction-only),不会在宿主上写入或下载任何二进制,风险较低。SKILL.md 也对缺少 iostat 的情况做了降级处理。
Credentials
技能声明和运行说明中均不要求环境变量或凭据。唯一的潜在外部依赖是用户自行配置的告警/通知渠道;在那种情况下,相关凭据应由用户显式提供给对应通知工具,而非由该技能隐式要求。
Persistence & Privilege
技能没有设置 always:true,也不包含安装脚本或自修改行为;它只是运行命令并格式化输出。唯一需要注意的是:为定时检查而将脚本加入 cron 或 HEARTBEAT.md 会使检查定期执行——这属于用户主导的部署步骤,应由用户确认。
Assessment
这是一个说明型的本地监控技能: - 它只运行常见的只读 Linux 命令来收集系统指标;技能本身不需要密钥或安装外部代码。 - 在允许任何代理执行这些命令之前,请确认你信任代理的执行权限,因为命令会访问本机系统信息(hostname、/proc、ps 输出等)。 - 如果你要启用告警通知,检查通知渠道(universal-notify 或其他)会如何配置和存放凭据,避免在不清楚数据流向的情况下提供外部访问权限。 - 在将脚本加入 cron 前,先在终端手动运行一遍检查脚本,确认接口名(eth0/ens/enp)、iostat 是否存在、以及 check.sh 的实际路径和内容。 - 如果你希望限制自动执行,避免把检查脚本放入自动运行位置,或者仅在明确需要时手动触发。

Like a lobster shell, security has layers — review code before you run it.

latestvk973pd7nbaxsnj5sntayaz5yrh84ce70
135downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

Server Monitor — 服务器监控技能

描述

监控服务器核心资源(CPU、内存、磁盘、网络、负载),支持阈值告警和定时检查。基于 Linux 原生命令,无需额外安装。

触发场景

  • 用户要求"查看服务器状态"、"监控服务器"、"系统怎么样"
  • 定时检查服务器资源使用情况
  • 资源超阈值时主动告警

监控指标与命令

CPU 使用率

top -bn1 | grep "Cpu(s)" | awk '{print 100 - $8}'

或使用:

vmstat 1 2 | tail -1 | awk '{print 100 - $15}'

内存使用

free -m | awk '/Mem:/ {printf "已用 %sMB / 总计 %sMB (%.1f%%)\n", $3, $2, $3*100/$2}'

磁盘使用

df -h | grep -E '^/dev/' | awk '{printf "%s: 已用 %s/%s (%s)\n", $6, $3, $2, $5}'

系统负载

uptime | awk -F'load average:' '{print $2}' | xargs

返回值:1分钟、5分钟、15分钟平均负载

网络流量

cat /proc/net/dev | grep -E 'eth0|ens|enp' | awk '{printf "接收: %.1fMB | 发送: %.1fMB\n", $2/1024/1024, $10/1024/1024}'

磁盘 IO

iostat -x 1 1 2>/dev/null || echo "未安装sysstat"

一键全状态检查

echo "=== 服务器状态 ==="
echo ""
echo "📅 时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "🖥️  主机: $(hostname)"
echo "⏱️   运行: $(uptime -p 2>/dev/null || uptime | awk -F'up ' '{print $2}' | awk -F',' '{print $1}')"
echo ""
echo "💻 CPU: $(top -bn1 | grep 'Cpu(s)' | awk '{printf "%.1f%%", 100-$8}')"
echo "🧠 内存: $(free -m | awk '/Mem:/{printf "%dMB/%dMB (%.1f%%)", $3, $2, $3*100/$2}')"
echo "💾 磁盘: $(df -h / | awk 'NR==2{printf "%s/%s (%s)", $3, $2, $5}')"
echo "📊 负载: $(uptime | awk -F'load average:' '{print $2}' | xargs)"
echo "🌐 网络: $(cat /proc/net/dev | grep -E 'eth0|ens' | awk '{printf "↓%.1fMB ↑%.1fMB", $2/1024/1024, $10/1024/1024}')"
echo ""
echo "=== 占用前五进程 ==="
ps aux --sort=-%mem | head -6 | awk 'NR>1{printf "%-20s %5s %5s\n", $11, $4"%", $4"MB"}'

告警阈值配置

默认告警阈值:

  • CPU > 80% ⚠️
  • 内存 > 85% ⚠️
  • 磁盘 > 90% 🔴
  • 负载 > CPU核心数 × 2 ⚠️

发现超阈值时:

  1. 记录告警信息
  2. 如用户配置了通知渠道,发送告警消息
  3. 建议处理方案

定时监控

通过 cron 实现定时检查:

# 每15分钟检查一次,超阈值通知
*/15 * * * * /path/to/check.sh

或通过 heartbeat 检查: 将检查指令加入 HEARTBEAT.md

进程异常检测

查找高资源占用进程:

# CPU占用前10
ps aux --sort=-%cpu | head -11 | tail -10

# 内存占用前10
ps aux --sort=-%mem | head -11 | tail -10

# 僵尸进程
ps aux | awk '$8 ~ /Z/ {print}'

使用示例

用户: "看看服务器状态"

执行一键全状态检查命令,格式化返回结果。

用户: "CPU占用高吗"

执行CPU检查命令,分析结果。

用户: "磁盘还剩多少"

执行磁盘检查命令,返回各分区剩余空间。

注意事项

  • 所有命令均为只读,不影响系统运行
  • 需要基础 Linux 命令可用(top, free, df等)
  • 网络接口名可能因系统而异(eth0/ens/enp等),需根据实际调整
  • 高负载时可建议用户执行 htop 进一步分析需安装
  • 可配合 universal-notify 技能实现告警通知

Comments

Loading comments...