monitor

配置

数据与备份

hub 的全部数据在一个 SQLite 文件里:一键脚本部署是 /opt/monitor/data/monitor.db,Docker 部署在数据卷的 /data/monitor.db。数据页显示它的大小、可回收空间和历史跨度,并提供回收空间、导出和导入备份。

保留天数

设置页的历史数据保留天数(1–365,默认 30)决定图表最远能看多少天,hub 每个整点清理超出的部分。

历史分两层保存:最近 7 天按分钟,更早的按小时汇总。超过一周的图表上,按分钟和按小时画出来几乎一样,按小时存只占几十分之一的空间。100 台节点、每台 4 个每分钟一次的延迟监控,保留 30 天约 110 MiB,90 天约 150 MiB,一年约 240 MiB。

默认 30 天,能看约一个月的历史,上限 365 天。

累计流量不受影响:总流量和月流量是独立的累计值,不是从历史算出来的,调小保留天数只会让图表变短。

从 hub 1.3.1 及更早版本升级后,hub 启动时把 7 天以前的分钟明细汇总成小时数据再删掉,明细多时要几分钟,期间面板照常可用,超过 7 天的图表中间会缺一段,汇总完就补上。删掉的明细不会让文件自己变小,过几分钟在数据页点一次回收空间即可。

回收空间

删掉的历史只把空间还给 SQLite 自己,文件不会变小。数据页的回收空间依次清理超出保留天数的历史、重建数据库文件(VACUUM)、截断预写日志,把空间还给文件系统。

执行时需要约为数据库两倍的空闲磁盘,期间面板和 agent 上报会短暂等待。

备份与恢复

导出备份下载整个数据库,文件名形如 monitor-20260924-093000.db。直接复制运行中的 monitor.db 会漏掉预写日志里还没写回的部分,备份请用这里导出的文件。

导入备份用备份文件整体替换当前数据:节点、设置、历史、密码都换成备份里的。

  • 文件先完整上传、校验通过才替换,最大 1 GiB;校验不通过时当前数据不变
  • 旧版本 hub 导出的备份可以导入新版本,反过来不行,要先升级
  • 导入后所有登录会话失效,执行导入的这个浏览器会拿到新会话;在线的 agent 自动重连
  • 反代要放行 8 MiB 的请求体,见反向代理

备份里有节点 token、密码哈希和通知渠道的凭证,按密钥保管。

备份不含主题包,只含主题设置。用的是自己安装的主题的,恢复后在主题页重新安装,设置会接上。

搬到另一台机器

  1. 旧 hub 的数据页导出备份
  2. 新机器按快速开始装好 hub 和反向代理,用新 hub 自己的应急密码登录
  3. 新 hub 的数据页导入备份。此后登录用旧 hub 的密码
  4. 把域名解析指到新机器

agent 连的是域名,解析生效后自动重连到新 hub,节点和累计流量接着算。换了域名的,每台机器要用各自节点弹窗里的新命令重装一次。

两边都是一键脚本部署时,也可以直接复制整个数据目录,自己安装的主题一并带过去:

# 旧机器:停服务,打包数据目录
systemctl stop monitor-hub
tar czf monitor-data.tar.gz -C /opt/monitor data
 
# 新机器:先装一遍 hub,停服务,放回数据目录
sudo ./install-hub.sh
systemctl stop monitor-hub
tar xzf monitor-data.tar.gz -C /opt/monitor
chown -R monitor:monitor /opt/monitor/data
systemctl start monitor-hub
bash
在 GitHub 上修改这一页最后更新 2026-10-03