系统健康报告程序:自动化诊断与审计 - Openclaw Skills

作者:互联网

2026-04-17

AI教程

什么是 系统健康报告程序?

系统健康报告程序是一个强大的诊断框架,旨在提供 Linux 和 macOS 环境性能与稳定性的即时可见性。作为 Openclaw Skills 生态系统中的特色工具,它自动收集关键遥测数据(包括 CPU 负载、内存压力、磁盘利用率和网络状态),以便在影响生产之前识别潜在瓶颈。

除了简单的数据收集,该技能还实现了复杂的评分逻辑,将系统健康状况分类为“健康”、“警告”或“危急”状态。通过将标准系统实用程序的原始输出综合成结构化、人类可读的 Markdown 报告,它使开发人员和系统管理员能够就资源扩展和故障排除做出明智的决策。利用 Openclaw Skills 进行系统审计可确保基础设施坚控的标准化方法。

下载入口:https://github.com/openclaw/skills/tree/main/skills/sa9saq/system-health-reporter

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install system-health-reporter

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 system-health-reporter。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

系统健康报告程序 应用场景

  • 坚控生产服务器负载以识别 CPU 和内存瓶颈。
  • 审计多个分区的磁盘空间消耗,以防止服务中断。
  • 实时检测失败的 systemd 服务和持久的僵尸进程。
  • 生成带有时间戳的系统快照,用于事后突发事件分析。
  • 验证网络接口状态并识别未经授权的端口。
系统健康报告程序 工作原理
  1. 执行一系列非破坏性 CLI 命令,以收集系统元数据和资源利用率统计信息。
  2. 分析相对于可用处理器核心的 CPU 平均负载,以确定处理压力。
  3. 计算内存和交换空间使用百分比,以识别潜在的 OOM 风险。
  4. 扫描指示软件不稳定的失败系统单元和僵尸进程。
  5. 将所有收集的数据映射到严重性矩阵,以分配状态指示器(健康、警告、危急)。
  6. 编写一份全面的 Markdown 报告,其中包含摘要、详细指标表和优先建议。

系统健康报告程序 配置指南

此技能依赖于 Linux 发行版(Ubuntu、Debian、RHEL、Arch)和 macOS 中常见的标准系统实用程序。请确保您的环境具备 Openclaw Skills 接口所需的必要工具。

# 检查所需的实用程序
which ps top free df uptime systemctl

基本的健康检查不需要 root 或 sudo 权限,因此对于常规坚控是安全的。为了增强网络诊断,请确保代理具有执行 ssnetstat 的权限。

系统健康报告程序 数据架构与分类体系

系统健康报告程序将诊断数据组织成一致的分类法,以便于解析和比较。

数据类别 捕获的指标 来源实用程序
系统元数据 主机名、操作系统版本、运行时间 uname, uptime
计算 平均负载、核心数、CPU 消耗最高的进程 /proc/loadavg, ps
内存 RAM 使用情况、交换空间使用情况、内存消耗最高的进程 free, ps
存储 分区使用情况、挂载点 df
网络 接口状态、端口 ip, ss
服务 失败的 systemd 单元、僵尸进程 systemctl, ps
description: Generate system health reports with CPU, memory, disk, network diagnostics and recommendations.

System Health Reporter

Comprehensive system health check with severity scoring and actionable recommendations.

Requirements

  • Linux (Ubuntu, Debian, RHEL, Arch)
  • Standard tools: ps, top, free, df, uptime, systemctl
  • No root required for basic checks (some details need sudo)

Instructions

Step 1: Collect metrics

uname -a && uptime                                    # System info
nproc && cat /proc/loadavg                            # CPU & load
free -h                                               # Memory & swap
df -h --exclude-type=tmpfs --exclude-type=devtmpfs --exclude-type=squashfs  # Disk
ip -brief addr                                        # Network interfaces
ss -tulnp 2>/dev/null | head -20                      # Listening ports
systemctl list-units --state=failed --no-pager 2>/dev/null   # Failed services
ps aux | awk '$8 ~ /Z/ {print}'                       # Zombie processes
ps aux --sort=-%mem | head -6                         # Top memory
ps aux --sort=-%cpu | head -6                         # Top CPU
last -5 2>/dev/null && who                            # Login activity

Step 2: Score each area

Area ?? Healthy ?? Warning ?? Critical
CPU Load < 0.8 × cores 0.8–1.5 × cores > 1.5 × cores
Memory < 80% 80–95% > 95%
Disk < 80% 80–95% > 95%
Services 0 failed 1–3 failed > 3 failed
Zombies 0 1+ N/A

Step 3: Generate report

## ?? System Health Report
**Host:**  | **OS:**  | **Uptime:** 
**Generated:** 

### Overall: ?? Healthy / ?? Degraded / ?? Critical

| Area | Status | Details |
|------|--------|---------|
| CPU | ?? | Load 0.5 / 4 cores |
| Memory | ?? | 82% (13.1/16 GB) |
| Disk | ?? | / at 45% |
| Services | ?? | 0 failed |

### ?? Recommendations
1. [High] Consider freeing memory — 82% used
2. [Low] 2 zombie processes detected (PPIDs: 1234, 5678)

### ?? Top Consumers
- **Memory**: java (2.1 GB), chrome (1.5 GB)
- **CPU**: ffmpeg (45%), node (12%)

Step 4: Save (optional)

Save to ~/system-health-reports/YYYY-MM-DD_HH-MM.md if requested.

Edge Cases

  • Container/VM: Some metrics may be limited. /proc/cpuinfo may show host CPU count.
  • No systemctl: Skip service checks on non-systemd systems. Use service --status-all as fallback.
  • macOS: Use vm_stat, sysctl, diskutil instead of Linux commands.
  • Minimal install: If ss missing, use netstat -tlnp.

Security

  • All commands are read-only — no system modifications.
  • Login activity (last, who) may reveal usernames — consider audience before sharing.
  • Don't include full process arguments in reports (may contain secrets).