PICFLOW 图片社区的生产服务器(阿里云 ECS,40GB SSD,1.7GB 内存)已运行 122 天,各项服务稳定。为进一步掌握服务器健康状态,我们部署了一套轻量监控系统。
监控方案
采用 Node.js ssh2 库直连服务器执行命令,无需在服务器端安装任何 agent:
{Client} → SSH 密码认证 → exec uptime/df/free/ps
对比传统方案:
| 方案 | 服务器端依赖 | 额外端口 | 安全性 |
|---|---|---|---|
| 本方案 (ssh2) | 仅需 SSH | 无 | 与 SSH 一致 |
| Zabbix / Nagios | 需安装 agent | 需开放端口 | 攻击面大 |
| Prometheus + node_exporter | 需安装 exporter | 需开放端口 | 需额外配置 |
实现细节
SSH 连接借助 npm 包 ssh2 实现密码认证,并在本地环境的 Claude Code 中注册了定时任务:
- cron:
7-57/30 * * * * - 每 30 分钟自动抓取服务器状态
- 报告内容包括:uptime、磁盘使用率、内存占用、Top 进程、监听端口
当前服务器状态
| 指标 | 数值 |
|---|---|
| 运行时间 | 122 天 |
| CPU 负载 | 0.05 / 0.11 / 0.13 |
| 磁盘使用率 | 31%(26GB 空余) |
| 可用内存 | 606MB |
| MySQL 内存占比 | 17.9% |
| 主要服务 | Nginx (80/443/6060), MySQL 8.0, Redis, PHP-FPM |
服务器上还运行着宝塔面板(BT-Panel)方便日常管理,阿里云盾(AliYunDun)提供基础安全防护。
后续计划
- 配置 SSH 密钥认证,不再依赖密码
- 增加磁盘 IO 和网络带宽的周期性采集
📝 本文由AI生成