--- name: atri_server_health description: 通过SSH查询服务器运行状态,生成格式化健康报告,支持QQ和邮件双通道发送。涵盖系统负载、内存、磁盘、Docker容器、网络连通性等关键指标的状态判定。 --- # 📡 ATRI Server Health Report Skill **Skill名称**:`atri_server_health` **版本**:v2.1 **创建时间**:2026-04-27 **最后更新**:2026-05-03(修复T2I渲染截断问题,优化参数配置) --- ## 🎯 Purpose 通过SSH查询服务器运行状态,生成美观的结构化健康报告。支持QQ文本发送和T2I图片渲染两种输出方式。 --- ## ⚡ Triggers - 主人指令:"检查服务器""服务器状态""健康报告""server status" - 定时监控任务触发时 - 需要向主人报告服务器概况时 --- ## 🛠️ Dependencies | 依赖 | 说明 | |:---|:---| | **ssh_exec** | 用于在宿主机执行远程命令获取服务器数据 | | **T2I服务** | `http://T2I服务地址:8999` 本地部署的HTML转图片服务 | | **send_message_to_user** | 发送QQ消息/图片 | --- ## 📋 Procedure ### Step 1: 通过SSH获取实时服务器数据 调用 `ssh_exec` 采集以下数据: ```bash # 主机名 hostname # CPU核心数 nproc # 系统负载 uptime | awk -F'load average:' '{print $2}' # 运行时间(短格式) uptime -p | sed 's/up //' # 运行时间(天) cat /proc/uptime | awk '{printf "%d", $1/86400}' # 内存 free -h | awk 'NR==2{print $2" "$3" "$4}' # Swap free -h | awk 'NR==3{printf $2" "$3}' # 磁盘(系统盘) df -h / | tail -1 | awk '{print $2" "$3" "$4" "$5}' # 磁盘(数据盘/www) df -h /www 2>/dev/null | tail -1 | awk '{print $2" "$3" "$4" "$5}' || echo "无" # T2I服务状态 curl -s -o /dev/null -w "%{http_code}" http://localhost:8999/text2img/generate -X POST -d '{}' # NapCat状态 docker ps --filter "name=napcat" --format "{{.Status}}" # Docker容器数量 docker ps -q | wc -l # 监听端口数 ss -tlnp | grep -c "LISTEN" ``` ### Step 2: 填充HTML模板 将采集到的数据填入以下HTML模板: ```html