服务器
服务器列表、每台服务器的设置,以及服务器详情页。
服务器就是运行被控的机器。添加服务器见安装被控。
服务器列表
服务器 页面按分组列出每台已登记的服务器:状态、备注、操作系统、IP、被控版本和最近上报。关闭了告警的服务器会标注“告警已关闭”。每一行有这些按钮:
| 按钮 | 作用 |
|---|---|
| 设置 | 打开这台服务器的设置(见下文) |
| ⋯ → 安装命令 | 再次显示这台服务器的安装命令,以及用来改绑已安装被控的 3rmonitor bind 命令 |
| ⋯ → 详情 | 打开服务器详情 |
| ⋯ → 删除 | 删除服务器及其历史数据。它的被控将不再被允许上报。 |
显示的 IP 是公网地址。内网地址显示在它旁边,形式为“内网 …”。
顶部的 + 添加服务器 用来登记新服务器,底部的 一条命令接入多台服务器 用来管理绑定密钥。见安装被控。
服务器设置
点服务器所在行的 设置,修改需要的内容,然后点 保存。
常规
| 字段 | 作用 |
|---|---|
| 名称、分组 | 服务器的显示名称和所属分组。分组可以有自己的告警收件人。 |
| 备注 | 最多 60 个字符,显示在地图标签、列表和详情页上,例如“主站 · 阿里云” |
| 显示的 IP | 要显示的 IP。留空 = 自动,优先显示公网 IP。 |
| 排序 | 在列表中的位置(数字小的在前) |
| 启用告警 | 关闭后,这台服务器不会产生告警,也不会发邮件;它仍会显示并保留历史数据。适合测试服务器或维护期间。 |
阈值
留空表示使用 设置 里的默认值;填 -1 表示对这台服务器关闭该项检查。
| 字段 | 默认值 | 含义 |
|---|---|---|
| CPU %、内存 % | 90 | 超过该值并持续超过 持续多少秒才告警 时告警 |
| 持续多少秒才告警 | 120 | CPU 或内存需要持续超过阈值多久 |
| 磁盘 % | 90 | 任一分区使用率超过该值时告警 |
| 离线判定(秒) | 30 | 这么久没有上报 = 离线 |
| 服务连续异常次数 | 3 | 连续几次上报异常才发出服务告警 |
| 上报间隔(秒) | 3 | 被控多久上报一次。越小越接近实时,但流量越大(见流量消耗)。 |
流量用量与额度
| 字段 | 作用 |
|---|---|
| 计入流量的网卡 | 全部网卡(默认:所有真实网卡,不含本机回环和容器的虚拟网卡),或者只算一块网卡,例如内网流量不收费时只算公网网卡。列表里是最近一次上报的网卡和它们的地址。 |
| 每月流量额度(GB) | 服务器的流量套餐,例如 1000。留空 = 不限。这里 1 GB 是 1024³ 字节。用到 80% 和 100% 时各告警一次。 |
| 额度计算方式 | 上下行合计(默认)、只算上行、只算下行 或 上下行取较大的:按服务商的计费方式选 |
| 每月重置日 | 每月从哪一天重新计算额度,1 到 28(默认 1) |
见流量用量。
地图位置
自动(按 IP / 时区推断):按服务器公网 IP 所属国家放置,否则按它的时区;主控本机的被控使用主控的位置。要精确放置,选一个城市或 自定义坐标…。见服务器地图。
黑白名单与漏洞检查
- 在这台服务器上用防火墙执行黑白名单(需要 nftables,或 ipset + iptables):为这台服务器开启拦截。见访问统计与黑白名单。
- 项目目录:每行一个。漏洞检查会自动在常见的网站目录中查找
composer.lock和package-lock.json;放在其他位置的项目在这里补充,例如/data/sites/shop。
AI 值守
- 不允许 AI 在这台服务器上执行任何东西(包括只读诊断):把这台服务器排除在 AI 值守之外。AI 仍然能看到它的监控数据。
- AI 沙盒可以连的网段:每行一个,例如
10.0.0.0/24。留空 = 只能连这台服务器本身。诊断脚本总能连到服务器本身;其他网段只能在这台服务器agent.conf中sandbox_networks_max的范围之内(默认是内网网段)。见沙盒。
任何服务器上的高风险命令都不会由 AI 执行。在服务器上用 sudo 3rmonitor ai off、ai read 或 ai on 可以限制被控接受哪些操作。
服务
对于失败(failed)的服务,以及设为开机启动却没有运行的服务,被控连续几次上报异常后会自动告警。此外:
- 必须运行的服务:每行一个,例如
myapp或queue-worker。没在运行时告警。 - 忽略的服务:每行一个。这些服务停止时不告警,例如只在需要时手动启动的服务。
重新生成密钥
设置最下方的 重新生成密钥 会为这台服务器生成新的密钥。旧密钥立即失效,所以之后需要用新命令(或 sudo 3rmonitor bind)重新绑定那台服务器。
服务器详情
点服务器名称(在 服务器 页、地图上或服务器卡片上)打开它的详情。在 总览 中点服务器,会从侧边滑出主要信息;点 完整详情 打开详情页。
顶部显示服务器的状态、备注、操作系统、IP、最近上报和被控版本,以及 24 小时、7 天和 30 天的可用率。下面有四个标签页:
| 标签页 | 显示内容 |
|---|---|
| 总览 | 进行中的告警;安全摘要(漏洞、黑白名单状态);CPU、内存、磁盘、负载、带宽、每分钟请求数和运行时长;流量用量;资源曲线(CPU / 内存 / 磁盘使用率、网络流量、磁盘 I/O、系统负载、Web 请求),可看实时数据,也可看 1 小时到 30 天的历史;以及最近 1 分钟和 24 小时的请求来源 |
| 系统 | 主机名、操作系统、内核、架构、虚拟化、启动时间、运行时长、时区、进程数、TCP 连接数和被控的运行方式;CPU(每个核心)和内存;磁盘;网卡;本机证书(Let's Encrypt)及其到期时间。系统更新后需要重启时会显示提示。 |
| 软件和服务 | PHP、Apache、Nginx、MySQL / MariaDB、PostgreSQL、Redis、Docker、Supervisor、Node.js 等软件的版本和运行状态(每 5 分钟刷新一次);服务(运行中、失败、开机启动、必须运行);按 CPU 排序的进程;监听端口 |
| 事件 | 这台服务器的事件记录;标签页上显示有几个正在进行 |
系统 中的 被控 一行显示被控的运行方式,例如“3rmonitor-agent(不是 root)· AI 操作经过 root 助手 · 沙盒:systemd 252 · 信任的通行密钥:2”。AI 在那台服务器上什么都不能执行时,这一行会用红色显示问题(见故障排查);1.1.0 之前的被控这一行为空。
流量用量
3R Monitor 按网卡的收发计数统计每台服务器下行、上行了多少流量(真实流量,不是估算):
- 服务器详情页的 流量用量 显示 今天 和 本月、设了额度时的额度(已用、上限、百分比和重置日期),以及最近 30 天每天一根柱子。鼠标移到柱子上(手机上点一下,或者用键盘左右键)可以看那一天的下行、上行和合计。
- 总览的侧边面板:实时、今天 和 本月,额度进度条,以及最近 30 天。点 详情 › 打开详情页。
- 总览的服务器卡片:本月流量,带额度进度条和百分比;没设额度时写 未设额度 和今天的用量。
重置日不是 1 号时,“本月”变成 本期,从重置日算起。按面板的时区分天。每天的数据保留 13 个月。
需要知道的:
- 从主控升级到 1.1.1 那天开始统计:“从某天开始统计”写的就是第一天。
- 要只算一块网卡,被控必须是 1.1.1 或更新的版本。在那之前按全部网卡计算,页面上会提示。
- 服务器重启后网卡计数从零开始,这一点已经考虑到了,不会重复计算。主控停了一段时间的话,中间的流量算进它恢复的那一天。
- 数字可能和服务商的略有不同:服务商可能还算了别的流量(例如它内网里的),或者按 1000³ 字节算 1 GB。
- 80% 和 100% 的告警和其他告警一样发邮件,可以在 设置 → 告警通知 → 以下情况发邮件通知 里关掉。下个周期开始或者调高额度以后,告警自动恢复。
命令行
在主控上:
sudo 3rmonitor server list # 已登记的服务器
sudo 3rmonitor server add --name web-2 --group 生产 # 登记服务器并输出密钥在服务器上查看被控采集到的内容(不上报):
sudo 3rmonitor agent --print