多机之后,最需要的不是「再装一套完整监控栈」,而是:

  • 一眼看到 谁在线
  • CPU / 内存 / 磁盘是否异常;
  • SSH 怎么登(可复制命令);
  • 页面能分享给自己,而不是只在 SSH 里 htop

在控制中枢内存紧张时,我选择了:定时脚本采集 → 写 JSON → 静态页读取

数据流

[各节点]
  Linux: SSH 执行只读命令 (/proc、df 等)
  Windows: OpenSSH + PowerShell 汇总
  仅端口探测: TCP connect 作为保底

        │ 定时任务(约每分钟)
[控制中枢] publish 脚本
        │ 写入 vps-status.json
[Web] 静态总控台(同源或固定 JSON URL)
        │ 30s 前端刷新
浏览器 / Telegram /vps 摘要

为什么不用「每台装 Agent」

方案优点缺点
中心式面板 + Agent功能全内存、维护、多机安装成本
纯云监控 API适合云主机流量账单对非云机器、NAT 机无能为力
中枢 SSH 拉取无 Agent、实现快依赖密钥与网络;Windows 要额外打通 OpenSSH

个人规模(十来台量级)时,SSH 拉取通常够用。

Linux 与 Windows

  • Linux:标准输出解析即可,注意 NAT 机 SSH 端口与业务端口可能不同,元数据里要写清「登录端口」。
  • Windows:优先系统自带 OpenSSH Server,用编码后的 PowerShell 一次取回 CPU/内存/磁盘/开机时间;失败时再降级到「仅端口在线」或云监控 API(若有权限)。

采集命令应保持 只读,避免在监控路径里做变更操作。

前端总控台

静态页职责:

  1. 拉 JSON,渲染卡片(在线、用途、资源、SSH)。
  2. 快捷入口:博客、网盘、面板、邮箱等。
  3. 可选:架构示意图(给未来的自己看)。

部署上可以:

  • 与 JSON 同源(最简单,无 CORS 烦恼);
  • 或 Pages 静态站 + 固定 JSON 地址(注意跨域与缓存头)。

重复的两个几乎一样的前端入口没有意义,最终应 只保留一个主站,另一个 301 过去。

与 Telegram 联动

机器人 /vps 不必再依赖已下线的旧面板 API,直接读同一份 JSON 即可。文案与链接指向状态页,避免两套数据源互相打架。

踩过的坑(脱敏表述)

  1. 对象存储上的 JSON 副本过期:上传链路断了以后,页面若指向旧副本会「能打开但数据旧」。主路径应指向中枢实时文件。
  2. 「R2 挂了所以页面不能读」是错误归因:若页面本来就读 Caddy/本机 JSON,对象存储只是旁路。
  3. Windows 节点长期显示横杠:不是前端坏了,是采集通道(SSH)没打通。

小结

轻量看板的核心是 一份权威 JSON + 一个静态前端。下一篇讲订阅:如何用域名作为节点地址做自动切换,以及 Clash 规则里如何避免「访问自己的域名还绕代理」。

系列导航:上一篇 · SNI · 下一篇 · 订阅 DNS