主题
home.cong.in 监控接入与排障记录(2026-06-06)
本次会话从「腾讯云新服务器接入 home.cong.in 监控」展开,牵出天翼云掉线、Server2 排版异常等一连串排障。 关联记忆:
project_home_dashboard.md/project_tencent_server.md/project_tianyiyun.md/project_server_architecture.md。
1. 监控总架构(四台服务器,glances + socat 隐藏公网 IP)
home.cong.in(gethomepage,Server1 Docker,/var/www/homepage/config/widgets.yaml)顶部四个服务器框,全部 glances API v4。 为隐藏公网 IP,远程机的 glances 经 Server1 上的 socat 转发成私有地址 172.17.0.1,widget 全用私有地址。
| 框 | widget url | 来源 | glances 运行方式 |
|---|---|---|---|
| Server1 | 172.17.0.1:61208 | 本机 | Docker nicolargo/glances:latest-full |
| Server2 | 172.17.0.1:62208 | socat→Server2:61208 | Docker 容器(本次从 apt/venv 改过来) |
| 腾讯云 | 172.17.0.1:62210 | glances-fwd-tx.service→〈腾讯云-IP〉:61208 | Docker 容器 |
| 天翼云 | 172.17.0.1:62209 | glances-fwd-ty.service→Server2:61209(frp隧道) | Windows,py -m glances |
面板顺序:Server1 → Server2 → 腾讯云 → 天翼云。
⭐ 铁律:四台 glances 必须统一用 Docker 容器版
主机 venv/apt 版与 Docker 容器版上报内容不同(容器报 Alpine + 隔离的挂载点/传感器;主机版报真实 host OS + 全部挂载点),会导致 homepage 信息框渲染不一致(竖排)。本次 Server2 排版异常的真因就是它当时是主机版 glances。
2. 腾讯云接入监控(步骤)
- 腾讯云装 Docker(配腾讯云 registry 镜像
mirror.ccs.tencentyun.com)→ 跑 glances 容器(API v4)。 - Lighthouse 防火墙放行 61208 仅来源 Server1:腾讯云是轻量应用服务器,防火墙用 Lighthouse API(
CreateFirewallRules),不是安全组。实例lhins-8popsydk(ap-shanghai)。 - Server1 建
glances-fwd-tx.service(socat172.17.0.1:62210→〈腾讯云-IP〉:61208)。 - widgets.yaml 加 glances 框(url 私有地址 / version 4 / label 腾讯云),重启 homepage。
3. 天翼云掉线排障(关键经验)
现象:天翼云框报 API error。根因链:天翼云整机自 6/5 07:36 离线后,frpc 没自动重连 → Server2 上 12022(SSH)/61209(glances) 隧道全断 → 取不到数据。frpc 回来后又发现 glances 本身也没起。
死锁:进天翼云唯一通道就是 frp 的 12022 隧道,frpc 不跑就进不去 → 只能用户在天翼云官方云电脑桌面手动起 frpc。
修复要点:
- frpc:天翼云桌面跑
iex (iwr https://scripts.cong.in/frpc-up.ps1).Content。 - glances:SYSTEM 计划任务没拉起;
Start-Process启动的会随 SSH 会话被杀。必须用Invoke-CimMethod Win32_Process Create(=wmic)脱离会话启动才持久。 - ⭐ 一键复活:天翼云桌面跑
iex (iwr https://scripts.cong.in/ty-up.ps1).Content(起 frpc + glances + 注册开机自启)。
踩坑:经 ssh myserver2 → sshpass ssh -p 12022 三跳隧道,cmd 输出丢包严重(schtasks/type 常无回显,whoami/wmic/Invoke-CimMethod 可靠)。验证结果从 Server1 端 curl 172.17.0.1:62209 最可靠。
4. Server2 排版竖排排障
- 真因:Server2 的 glances 当时跑的是主机版(先 apt v3,后我换 venv v4),与其他三台的 Docker 容器版上报内容不同 → homepage 渲染竖排。
- gethomepage 渲染逻辑(已读源码
glances/glances.jsx):info 框只渲染 CPU + MEM 两条;expanded:true时 CPU 额外显示 15 分钟负载、MEM 显示可用/总字节。四台 widget 配置已完全一致。 - 修复:Server2 改用
nicolargo/glances:latest-fullDocker 容器(与其他同款)。venv 残留/opt/glances-venv+glances.service(已 stop+disable,未删)。
5. 本次新增的脚本(scripts.cong.in,托管在 Server1 /var/www/scripts/)
| 脚本 | 用途 | 在哪跑 |
|---|---|---|
frpc-up.ps1 | 起天翼云 frpc | 天翼云桌面 |
ty-up.ps1 | 天翼云一键复活(frpc+glances+开机自启) | 天翼云桌面 |
ty-diag.ps1 / ty-status.ps1 | 天翼云 glances 诊断 | 天翼云桌面 |
6. 各机端口分配(glances)
| 端口 | 机器 |
|---|---|
| 61208 | Server1(本机) / 各远程机本地 glances |
| 62208 | Server2(socat 转发) |
| 62209 | 天翼云(frp 隧道 + socat 转发) |
| 62210 | 腾讯云(socat 转发) |
7. 遗留待办
- [ ] Server2(1核1G)内存偏紧:
multipathd可关省 ~26MB(停服务前需用户确认,尚未关)。 - [ ] 天翼云 glances 开机自启任务在三跳隧道下无法可靠验证;建议用户在桌面跑一次
ty-up.ps1确保下次重启自动起。 - [ ] 腾讯云 API 密钥用完未存盘,建议用户在 CAM 禁用。