AgentSkillsCN

System Patrol

系统巡检

SKILL.md

系统巡检 - 全面系统健康度检查技能

概述

这是一个全面的系统巡检技能,能够检查服务器的硬件资源、网络安全、系统服务、安全状态等多个维度,生成系统健康度报告。基于Azure云环境和Linux系统运维标准,结合平台特性和系统运维标准。现在还包括Azure实例元数据检查和详细的错误日志分析。

功能特性

  • ☁️ Azure实例信息: 位置、规格、资源组等云环境信息
  • 🖥️ 系统信息: 主机名、内核版本、运行时间、负载(1/5/15分钟平均)
  • 📊 硬件资源: CPU、内存、交换区、多分区磁盘使用情况
  • 🗂️ Inode使用: 根分区、家目录等关键分区的Inode使用率
  • 🔗 网络状态: 连接数、SSH会话、网络活动
  • 🏃‍♂️ 进程服务: 进程数量、系统服务、Docker容器状态
  • 🔒 安全状态: 登录活动、Fail2Ban、防火墙状态、OpenClaw状态
  • 📈 系统健康指标: 负载、资源使用率、系统错误日志、常见错误TOP3、磁盘I/O错误
  • 📊 健康评分: 综合评分系统(0-100分)

包含的脚本

1. system-overview.sh

  • 功能: 全面系统巡检,生成健康度报告
  • 数据源: 系统指标、安全日志、服务状态、系统错误日志、Azure元数据
  • 输出: 结构化的 Markdown 格式系统健康报告
  • 评分: 基于多个因素的综合健康度评分

依赖项

  • sudo - 访问系统日志和服务状态
  • fail2ban-client - 检查 Fail2Ban 状态
  • ufw - 检查防火墙状态
  • systemd - 检查服务状态
  • docker - 检查容器状态(可选)
  • curl - 获取 Azure 元数据
  • jq - 解析 JSON 数据

使用方法

运行系统巡检

bash
bash /home/chengzh/clawd/skills/system-patrol/system-overview.sh

输出示例

报告包含以下板块:

  • 系统健康度评分(0-100分)
  • Azure 实例信息(位置、规格、资源组)
  • 系统信息概览(含负载详情)
  • 硬件资源使用情况(含交换区、多分区)
  • Inode使用情况
  • 网络连接状态
  • 进程与服务状态(含Docker容器)
  • 安全状态评估
  • 系统健康指标(含错误日志统计和常见错误TOP3)
  • 改进建议

健康度评分标准

  • CPU使用率: >80% 扣20分,>60% 扣10分
  • 内存使用率: >85% 扣20分,>70% 扣10分
  • 负载过高: 超过CPU核心数扣10分,超过2倍扣20分
  • 磁盘使用率: >90% 扣20分,>80% 扣10分
  • /var分区: >90% 扣15分,>80% 扣5分
  • Inode使用率: >90% 扣15分,>80% 扣5分
  • 交换区使用: >50% 扣15分,>20% 扣10分
  • 攻击频率: >500次失败登录扣20分,>200次扣10分
  • 系统错误: dmesg错误>10扣15分,>3扣5分
  • 服务状态: Fail2Ban未运行扣15分,防火墙未启用扣10分

健康度等级

  • 90-100分: 🟢 极佳 - 系统运行状态优秀
  • 75-89分: 🟡 良好 - 系统运行状态良好
  • 50-74分: 🟠 一般 - 系统运行基本正常
  • 0-49分: 🔴 需要关注 - 系统需要关注

定时任务配置

可配置 cron 任务自动运行系统巡检:

bash
# 每天上午 9 点和晚上 9 点运行系统巡检
0 9,21 * * * bash /home/chengzh/clawd/skills/system-patrol/system-overview.sh

注意事项

  • 需要 sudo 权限访问系统日志和服务状态
  • 部分功能需要安装 fail2ban、ufw 和 jq
  • 评分系统会根据多个因素动态调整
  • 建议会根据当前系统状态给出针对性建议
  • 支持 Azure 云环境和 Linux 系统运维标准
  • 包含磁盘空间、inode、负载、内存、交换区等关键指标监控
  • 自动检测 Azure 环境并显示实例元数据
  • 显示最常见的3个错误日志以便快速诊断问题