安装
系统要求
支持的系统、需要开放的端口,以及主控和被控各自的要求。
操作系统
| 支持 | |
|---|---|
| 系统 | 任何带 systemd 的 Linux:Ubuntu、Debian、AlmaLinux、Rocky Linux、RHEL、CentOS Stream 等 |
| CPU | x86_64(amd64)、arm64、armv7 或 386 |
| 权限 | 安装需要 root,或有 sudo 权限的用户 |
主控和被控的要求相同。发布包里包含这四种架构的程序,安装脚本会自动选择合适的版本。
主控
- 一个浏览器和被控都能访问的 TCP 端口:默认 8899(用
--port修改)。如果想通过https://monitor.example.com这样的域名打开面板,主控上还需要 Nginx 或 Apache(见 HTTPS)。 - 不需要安装其他软件:主控自带 Web 服务和内置 SQLite 数据库,不依赖 PHP、MySQL 或 Web 服务器。所以即使同一台机器上的这些服务出了故障,主控照样工作并发出告警。
- 主控以独立的非特权用户
3rmonitor运行。 - 出站访问互联网:用于发送告警邮件(连接你的 SMTP 服务器)、查询漏洞库、每月更新 IP 国家库、向 3rsoft.com.pa 检查更新、检测你的监控项地址,以及在使用 AI 分析时连接你的模型服务商。
主控装在哪里
如果主控所在的服务器本身宕机,就没有谁能发出告警了。条件允许时,把主控装在与最重要的服务不会一起出问题的服务器上,例如另一家服务商或另一个机房的一台小服务器。
被控
- 能出站访问主控(HTTP(S),使用面板地址)。被控不开放端口,也不需要被任何地方访问。
- 安装时需要
curl或wget。 - 被控以非特权用户
3rmonitor-agent运行。少数需要 root 的操作(查看监听端口背后的进程、检查证书、软件和 Web 服务器、Docker、黑名单防火墙、更新和 AI 操作)交给同一台服务器上的一个小型 root 辅助程序3rmonitor-helper完成。两者都由安装脚本配置好。 - 流量很小:默认 3 秒上报一次时,每天约 58 MB。见流量消耗。
按需使用的可选功能:
| 功能 | 服务器需要 |
|---|---|
| 访问统计 | Apache 或 Nginx 访问日志。常见位置(Debian、RHEL、宝塔、cPanel、Plesk、XAMPP)会自动找到。 |
| 黑白名单 | nftables,或 ipset + iptables |
| MySQL / MariaDB 运行状态 | 在 mysql_defaults_file 中指定凭据文件。Debian 会自动使用 /etc/mysql/debian.cnf。 |
| 系统软件包的漏洞检查 | Debian、Ubuntu、AlmaLinux、Rocky Linux 或 Alpine。其他系统仍会检查主要服务和项目依赖。 |
| 沙盒中的 AI 诊断 | systemd 236 或更新版本,以及 D-Bus。没有它们时,AI 值守在那台服务器上只执行固定的检查。 |
端口
| 端口 | 方向 | 用途 |
|---|---|---|
8899/tcp(或你的 --port) | 入站到主控 | 浏览器访问面板,以及被控上报。安装脚本会在 ufw 或 firewalld 中放行(除非使用 --no-firewall)。 |
| 80 和 443/tcp | 入站到主控 | 仅在通过 Nginx 或 Apache 使用 --domain / --https 时需要。Let's Encrypt 签发证书期间,80 端口必须能从外网访问。 |
| 465 或 587/tcp | 从主控出站 | SMTP,发送告警邮件 |
| 443/tcp | 从主控出站 | 漏洞库、IP 国家库、检查更新,以及使用 AI 分析时连接你的模型服务商 |
| 无 | 入站到被控 | 被控只向主控发起出站连接 |
很多云服务商在服务器前面还有自己的防火墙(安全组、云防火墙)。也要在那里放行 8899 端口,否则即使安装脚本已在服务器上放行,面板仍然打不开。
可选
- 一个用于发送告警邮件的 SMTP 账号。Gmail 需要使用“应用专用密码”。
- 主控上的域名和 Nginx 或 Apache,用于通过
install.sh --https申请免费的 Let's Encrypt 证书。通行密钥也需要 HTTPS,你批准的 AI 修复由它签名。 - 模型服务商(DeepSeek、OpenAI、Anthropic、Google、通义千问……)的 API 密钥,或本地的 Ollama,用于 AI 分析。
下一步:安装主控。