安装
接入节点
agent 只支持 Linux,x86_64 与 aarch64,systemd 与 OpenRC 都可以。二进制由 hub 转发(<hub>/agent/<arch>),机器能连上 hub 就能装,不需要能访问 GitHub。
单台安装
节点页点「添加节点」填一个名字,再点这一行的安装按钮(下载图标),复制弹窗里的命令:
curl -fsSL https://hub.example.com/install.sh | sh -s -- \
--server https://hub.example.com --token <token>bash以 root 在被监控的机器上执行,几秒后节点在面板里上线。安装命令随时可以再打开,token 不是只显示一次。
软路由、PVE 宿主机这类转发流量的机器,装之前先看流量统计。
安装选项
弹窗里的安装选项改了,下面的命令随之变化:
| 选项 | 命令参数 | 说明 |
|---|---|---|
| 上报间隔 | --interval <秒> | 1–3600,默认 1 |
| 指定统计的网卡 | --iface <列表> | 见流量统计 |
两项都记在机器上,以后重装或升级时不写就沿用。节点在线时,弹窗显示并预填它当前的上报间隔和统计网卡;上报间隔没改就不写进命令。
批量安装
节点页点「批量添加」,开一个一小时的注册窗口,复制弹窗里的命令:
curl -fsSL https://hub.example.com/install.sh | sh -s -- \
--server https://hub.example.com --register <key>bash窗口开着时,这条命令在任意机器上以 root 执行一次,那台机器就出现在节点列表里,各自拿到各自的 token。命令里没有任何一台机器的凭证,所有机器共用同一条;弹窗里的安装选项对这一批机器一起生效。
- 一个窗口有效一小时,最多注册 100 台。过期或用满后开新窗口,复制新命令
- 节点名默认是「节点 N」(N 是节点编号),装完在面板上改。不取机器的 hostname:它常带着 IP 或服务商的机器编号,而节点名在公开页可见。
--name <名字>只能逐台加:同一条命令发给多台时,加了会让所有机器同名。名字最多 64 个字,其中的< > " '会被去掉,在面板上改名不受这个限制 - 重跑不会重复添加:机器上已有的 token 还对应着节点,就直接沿用,窗口关了也一样。节点在面板上删掉后旧 token 失效,要在窗口开着时重跑,那台机器会注册成一个新节点
- 装好之后升级用升级命令,不要再执行这条:token 丢失的机器会被注册成一个新节点
发到每台机器的做法:
- 逐台粘贴:登上每台机器,粘贴,回车
- SSH 客户端广播:不少 SSH 客户端能把一条命令同时发给选中的多台机器,菜单里常叫「批量执行」「发送到所有会话」「广播输入」,执行一次即可
- 开机脚本:机器还没创建时,在服务商创建机器的页面把命令填进开机执行的脚本(「启动脚本」「User data」「cloud-init」等),第一行写
#!/bin/sh。个别机器开机时网络还没通、没有出现的,登上去再执行一次 - 终端循环:写法见批量升级 agent,把要执行的命令换成这一条
登录用户不是 root 的,把 | sh 换成 | sudo sh。每台输出的最后一行以 monitor-agent installed 开头即成功,节点随即出现在节点页。
key 泄露的影响范围:窗口剩下的时间里最多新建 100 个节点,每个只能上报自己,读不到已有节点的数据,也改不了设置。关掉窗口,删掉多出来的节点即可,已装好的机器不受影响。
升级
agent 不自动更新。hub 发布新版后,面板左侧的更新页列出待升级的节点和一条所有机器共用的升级命令,见批量升级 agent。
换发 token
打开节点的安装弹窗,在换发凭证一栏点「换发」。旧 token 立即失效,已经连着的 agent 会被断开,拿旧 token 重连时得到 401。只在 token 可能泄露时使用。
换发后用这个节点弹窗里的新命令重装。不要跑批量安装的命令:它认不出换发前的 token,会另建一个节点,原节点连同历史数据留在面板上一直显示离线。
报错对照
安装和升级执行的是同一个脚本,报错也相同:
| 输出里看到 | 原因 | 怎么办 |
|---|---|---|
registration is closed | 注册窗口已关闭或过期,或者命令是之前那个窗口的 | 重新开窗口,复制新命令再执行 |
this window has registered enough nodes | 一个窗口最多注册 100 台 | 开一个新窗口,用新命令装剩下的 |
too many attempts | 窗口开着时用错的 key 试了 5 次,这个 IP 被拒 15 分钟 | 等 15 分钟,用面板上当前的命令 |
no agent is installed here | 执行升级命令的机器没装过 agent | 按上文安装 |
refusing plaintext http:// | hub 地址是 http:// | 命令末尾加 --insecure |
run as root | 登录用户不是 root | 把 | sh 换成 | sudo sh |
monitor-agent did not start | 新版装好了但服务起不来;升级时脚本已换回原来的版本,下一行会写明 | 按 see: 后面给的位置看日志,处理后重新执行 |
download failed (HTTP 502) | hub 从 GitHub 下载 agent 失败 | 面板设置页填 GitHub 代理,再重新执行 |
download failed (HTTP 502): ... failed its signature check | 代理返回的 agent 验签没通过:被换过,或者刚发版那几秒二进制和签名不是同一版 | 过几分钟重新执行;仍然失败就换一个代理 |
download failed (HTTP 502): ... too slow | 代理 55 秒内没把 agent 传完 | 换一个更快的代理 |
download failed (HTTP 503) | 同时下载的机器太多,重试后仍没排上 | 稍后重新执行这几台 |
the download is not a Linux executable | 节点收到的不是程序,多半是 hub 前面的反代或 CDN 返回的错误页 | 直接打开命令里的 hub 地址,看反代是否正常 |
下载失败时脚本在停掉旧 agent 之前就退出:升级失败的机器照旧运行原来的版本,安装失败的机器也不会在面板上留下空节点。