参考
常见问题
装不上、连不上、数字不对时先看这里。
装完面板打不开
这是正常的。 一键脚本装出来的 hub 只监听 127.0.0.1,公网访问不到——
凭证不会在链路上明文传输,也没有端口需要防火墙。
去配一段反向代理,把域名指过来。caddy 只要一行。
应急密码丢了
journalctl -u monitor-hub | grep Emergency # 二进制部署
docker logs monitor | grep Emergency # 容器部署bash它只在首次启动时打印一次,但日志里一直在。
节点一直不上线
按这个顺序查:
# 1. agent 在跑吗
systemctl status monitor-agent # 或 rc-service monitor-agent status
# 2. 它在抱怨什么
journalctl -u monitor-agent -n 50 --no-pager
# 3. 这台机器连得上 hub 吗
curl -sI https://hub.example.com/install.sh | head -1bash常见原因:
| 现象 | 原因 |
|---|---|
| agent 日志里 401 | token 被换发过。回面板重新拿一条安装命令,重跑 |
| agent 日志里连接被拒/超时 | 反代没转发 WebSocket 升级头,或者 hub 和节点的 IP 协议族对不上 |
| agent 根本没起来 | 服务定义里的地址是明文 http://,而 agent 拒绝明文连远程 hub |
节点周期性掉线又自己回来
反代的读写超时太短。/api/agent/ws 是长连接,把 proxy_read_timeout /
proxy_send_timeout 放到 1 小时,并关掉 proxy_buffering。
也确认转发了 Upgrade 和 Connection 头。
判定离线要多久
最慢 150 秒。hub 每 30 秒发一个 WebSocket Ping,连续 120 秒收不到任何入站帧就主动断开。
这个窗口不能再短:网络抖一下就断连,agent 重连的开销比多等一会儿大。
纯 IPv6 的机器装不上
装得上。agent 二进制总是由 hub 转发(<hub>/agent/<arch>),节点不需要能连上 GitHub。
真正的约束是节点必须能到达 hub。hub 只有 IPv4 而节点只有 IPv6 的话, 给 hub 加一个 v6 入口就行,三条路都不用改代码:
- 机器申请一个 v6 地址(多数 VPS 免费给一个
/64) - 套一个双栈 CDN
- 用 Cloudflare 隧道——隧道是出站建立的,源站纯 v4 也能有双栈边缘
hub 自己连不上 GitHub
设置 → GitHub 代理填一个镜像地址,hub 拉 release 时会用它。节点侧什么都不用改。
这个地址返回的字节会被装到每一台节点上并跑起来,中间没有摘要校验。只填信得过的镜像,
而且只接受 https://。见安全模型里的「已知缺口」。
面板里没有「添加节点」
从 IP 地址或明文 HTTP 进面板时,添加节点、批量窗口和安装命令都不可用。
因为那条链路上 token 是明文传的,而且下载的二进制紧接着要以 root 跑起来。 配好域名和 TLS,从 HTTPS 域名进面板,这些入口会自己出现。
--site 不能绕过这个限制。
内存和硬盘的数字和别的面板不一样
我们的数字对齐 free(1) 和 df(1)——ssh 上去敲一遍就能核对。
常见的差异来源是内存:很多采集库把 page cache 算成已用内存,
于是一台跑了几天的机器看起来内存快满了。我们用的是 MemTotal - MemAvailable,
和 free 的 used 列同一个算法。
如果你的对照基准是 htop,那会有几个 MiB 到几十 MiB 的差——两条公式回答的不是同一个问题, 详见设计哲学。
总流量为什么和商家算的不一样
几个已知的差异来源:
- agent 上线之前跑的量算不进来。 hub 只计入它亲眼看着计数器涨过去的那部分
- VPS 重启那一次会丢掉「开机到首次上报」之间的量,通常几十秒、几百 KB
- 商家的重置日和你在面板里填的不一致,比对的就不是同一个周期
- 计费方向不一致:面板的「流量计算方式」要和商家一致(上下行相加 / 取大 / 只算单向)
反过来,agent 掉线期间的流量会被补上——那是特性:内核照样在计数,流量确实跑了。
今日流量到点不归零
Docker 部署没设 TZ。日边界和账单周期走本地时区,不设按 UTC 算,而且没有任何报错。
docker run -d -e TZ=Asia/Shanghai ...bash改小保留天数会丢流量数据吗
不会。保留天数只删每分钟一行的历史明细和探测记录,累计流量是独立存的, 不是从明细算出来的。
图表会变短,流量数字毫发无损。
数据库越来越大
数据 → 回收空间:清过期明细 + VACUUM + 截断 WAL。
WAL 模式下不截断的话文件只会变大不会变小,所以这三步是一套。需要和数据库等量的空闲磁盘。
主题详情页刷新就 404
反代或 WAF 做了按路径的正向白名单,而详情页的前缀没放行。
从列表点进去只是 pushState,边缘看不见;刷新才会真的请求那个路径。
默认主题用的是 /node/{id}。
怎么升级
hub:重跑一遍安装脚本。校验通过才替换,起不来自动回滚,没写的参数沿用上次的。
agent:重跑一遍它的安装命令。没有自动更新,这是有意的—— 自更新意味着 agent 能以 root 下载并执行任意二进制。
主题:主题卡片上的 ⟳。
支持 Windows / macOS 吗
不支持,而且不会支持。agent 直接读 /proc 和 statvfs,换来的是更准的数字和更小的二进制;
加跨平台等于推翻整个采集实现。
能加告警 / WebSSH / 插件吗
不能。这不是「还没做」,是设计哲学。
探针的职责是告诉你机器怎么样了,不是替你管机器。如果这里面有一样是你必需的, 那我们大概不合适——这不是遗憾,是选择。