安装被控
每台服务器一条命令添加到面板,或用一条命令批量绑定多台服务器。
被控是从你的主控安装的:其他服务器不需要发布包。安装命令会从主控下载程序、校验 SHA-256、写入 /etc/3rmonitor/agent.conf、创建 3rmonitor-agent 守护进程(以非特权用户 3rmonitor-agent 运行)和它的 root 辅助程序 3rmonitor-helper,信任主控的签名钥匙和你的通行密钥,并发送一次测试上报。
每台服务器需要:带 systemd 的 Linux、root 权限、curl 或 wget,并能出站访问面板地址。见系统要求。
方式一:逐台添加
适合逐台添加服务器。
在面板中打开 服务器,点 + 添加服务器。填写 名称(例如“主站 Web 服务器”),选择 分组,然后点 登记并生成安装命令。
复制命令,到那台服务器上用 root 执行。命令类似这样:
curl -fsSL 'https://monitor.example.com/dl/install.sh?t=密钥' | sudo bash -s -- agent --master 'https://monitor.example.com' --token '密钥' --master-key 主控指纹 --approvers 通行密钥指纹--master-key 和 --approvers 是主控签名钥匙和你已信任的通行密钥的指纹。只有在你有通行密钥之后,命令里才会出现 --approvers。
几秒钟后,这台服务器会出现在 服务器 列表里,显示状态、操作系统、被控版本和最近上报时间。
每台服务器都有自己的密钥。要再次查看安装命令,打开该服务器所在行的 ⋯ 菜单,选择 安装命令。
方式二:一条命令添加多台
适合一次添加很多服务器,或者通过自动化工具添加。
在 服务器 页面底部的 一条命令接入多台服务器 下,打开 批量接入命令,复制命令(其中包含绑定密钥),在任意多台服务器上执行。每台服务器会自动登记。名称默认使用服务器的主机名;要自己指定,在命令末尾加 --name 和 --group:
curl -fsSL 'https://monitor.example.com/dl/install.sh?t=绑定密钥' | sudo bash -s -- agent --master 'https://monitor.example.com' --enroll '绑定密钥' --master-key 主控指纹 --approvers 通行密钥指纹 --name web-2 --group 生产- 更换绑定密钥 → 更换:旧命令立即失效。已经绑定的服务器不受影响。
- 关闭 批量接入命令:之后只能用 + 添加服务器 逐台添加服务器。
任何拿到绑定命令的人都能向你的面板添加服务器。只把它交给负责安装服务器的人;如果泄露了,请更换绑定密钥。
在主控命令行登记
也可以不打开面板,直接在主控上登记服务器并获取密钥:
sudo 3rmonitor server add --name web-2 --group 生产命令会输出新服务器的密钥。然后在新服务器上,用你的面板地址和这个密钥执行安装命令:
curl -fsSL 'https://monitor.example.com/dl/install.sh?t=密钥' | sudo bash -s -- agent --master 'https://monitor.example.com' --token '密钥'给 server add 加上 --reuse,已有同名服务器时直接输出它的密钥,不会重复登记,适合在脚本里使用。这样安装的服务器没有 --master-key,还不信任你的通行密钥:如果想在那里使用经批准的 AI 修复,在那台服务器上执行 sudo 3rmonitor approvers trust。
安装被控的其他方式
手动安装逐一说明了这些方式:
- 用发布包安装,程序来自发布包,而不是从主控下载;
- 先下载安装脚本,看过再执行,或者自己回答它的提问;
- 在没有 curl 的服务器上用 wget;
- 通过 SSH、cloud-init 或 Ansible;
- 不用 install.sh,全部手动。
被控使用的地址
安装命令使用 设置 → 常规 里的 面板对外地址。它必须是其他服务器能访问到的地址:不能是 127.0.0.1;如果服务器在其他网络里,也不能是内网 IP。
- 如果主控使用自签名证书的 HTTPS,给 curl 加
-k(curl -fsSLk …),并在命令末尾加--insecure。--insecure会在agent.conf中设置insecure = true。见主控使用自签名证书。 - 以后修改了面板地址,已安装的被控仍会向旧地址上报。要迁移它们,见下一节。
改绑已安装的被控
被控需要改为向另一个主控上报、使用新密钥,或者要把一台服务器替换成新的服务器时,不需要重装。在 服务器 → ⋯ → 安装命令 中展开 已经装过被控?只想改绑到这台,执行其中的命令:
sudo 3rmonitor bind --master 'https://monitor.example.com' --token '密钥'检查是否正常
在被控服务器上执行:
3rmonitor status # 安装模式与守护进程状态
sudo 3rmonitor agent --test # 立即上报一次并显示结果
journalctl -u 3rmonitor-agent -f # 被控日志
journalctl -u 3rmonitor-helper -f # root 辅助程序日志安装脚本的汇总中会显示“被控以普通用户 3rmonitor-agent 运行……”。如果显示这一步失败了,被控仍然会监控这台服务器,但在你用 sudo 3rmonitor agent secure 修好之前,AI 不会在那里执行任何东西。
如果面板里看不到这台服务器,见故障排查。
更新
被控不需要你手动更新:每次升级主控后,被控会自动更新到同一版本(agent.conf 中 auto_update = true)。1.1.0 之前以 root 运行的被控,在更新时会自动改为以非特权用户运行。从 1.1.1 起,被控只安装 3R Soft 签过名的程序,所以请用官方发布包安装和升级主控。见升级与卸载。
移除服务器
- 在 服务器 中打开该服务器所在行的 ⋯ 菜单,选择 删除。它的历史数据也会被删除,它的被控将不再被允许上报。
- 在那台服务器上卸载被控:
sudo bash /opt/3rmonitor/install.sh uninstall。