← 返回发布中心

Think RMS 一体化监控平台 · 安装部署说明书

版本 v1.1.1 | 适用发行包 rms-distribution-1.1.1.zip Think RMS 基于开源夜莺监控(Nightingale / n9e)v9 构建,产品化封装了多源统一 监控、告警、GoView 可视化大屏、证书自监控与授权管理。安装编排借鉴夜莺官方 Docker Compose 部署方案(Apache-2.0),并做离线自足与授权内置改造。


1. 产品概述

Think RMS 是面向企业的一体化计算资源监控与告警平台,单机即可跑通全栈:

1.1 组件与端口

组件 容器/服务 宿主端口 说明
Nightingale (n9e) rms-n9e 127.0.0.1:17000、20090 主服务与 RPC(仅本机监听,经 nginx 对外)
VictoriaMetrics rms-victoriametrics 容器内网 8428 时序库(不对宿主暴露)
MySQL rms-mysql 容器内网 3306 元数据库(不对宿主暴露)
Redis rms-redis 容器内网 6379 缓存/锁(不对宿主暴露)
Categraf rms-categraf host 网络 本机指标采集与写出
rms-license systemd 服务 127.0.0.1:17100 授权校验 sidecar
rmsgoview systemd 服务 127.0.0.1:17101 GoView 大屏后端
Nginx 系统服务 80 / 443 唯一对外入口(前端静态 + API 反代 + 授权闸门)

对外只需放行 80/443。17000/17100/17101 等均绑定 127.0.0.1,公网不可直达。

1.2 与夜莺官方默认的差异


2. 前置要求

2.1 服务器资源规划

RMS 支持单机全栈混部(install.sh 默认形态,开箱即用)与分离式部署(生产增强)。 下表按被纳管主机数给出建议;内置 SN 覆盖 200 台 / 20 用户,落在「标准」档。

(1)按规模的推荐配置

档位 纳管主机 部署形态 CPU 内存 系统盘 数据盘(SSD) 入向带宽*
入门/PoC < 50 单机混部 4 核 8 GB ≥ 60 GB ≥ 80 GB ≥ 10 Mbps
标准(本 SN) 100–300 单机混部 8 核 16 GB ≥ 60 GB ≥ 200 GB ≥ 20 Mbps
进阶 300–1000 应用×2 + 独立库 + 独立时序 8 核×2 16–32 GB ≥ 60 GB ≥ 500 GB ≥ 50 Mbps
大规模 1000+ n9e-server/edge + vmcluster 分布式 横向扩展 按需 按需 按需 按需

* 入向带宽指全部被纳管主机 Categraf 持续 remote write 汇入服务端的总量(200 台 @ 60s 采集间隔稳态约 5–15 Mbps,峰值 2–3 倍)。数据盘须 SSD(VictoriaMetrics / MySQL 随机写敏感);容量随采集间隔与保留期线性增长,默认保留 12 个月。

(2)组件级占用(单机全栈、200 台纳管的量级估算)

组件 CPU 内存 磁盘 说明
VictoriaMetrics 2–4 核 6–8 GB 60–150 GB/年 时序主力(约 10–20 万活跃序列),最吃 IO
MySQL 8.0 1–2 核 3–4 GB 10–30 GB n9e_v6 元数据 + 告警事件
Nightingale (n9e) 2 核 3–4 GB < 5 GB 主服务 + 告警求值
Redis 6.2 0.5 核 0.5–1 GB 很小 缓存 / 分布式锁
Categraf 0.5 核 256 MB 很小 仅采集 RMS 服务器本机
rms-license / rmsgoview 各 < 0.25 核 各 64–128 MB 很小 Go 静态二进制 sidecar
Nginx 0.25 核 128 MB 很小 对外入口
Docker 引擎 + OS 预留 1–2 核 1–2 GB 10–15 GB 含镜像解包

以上为按默认采集间隔(60s)与 12 个月保留的工程估算,作为容量规划起点;实际以压测为准。

(3)磁盘构成(安装 + 运行)

用途 空间 说明
发行包解压 ~1 GB zip 884 MB + 解压树
镜像 docker load ~2.5–3.5 GB 5 镜像解包(MySQL / VictoriaMetrics 较大)
OS + Docker 引擎 + 日志 ~10–15 GB 系统盘
VictoriaMetrics 数据 60–150 GB/年 数据盘,随保留期增长
MySQL 数据 10–30 GB 元数据 / 告警事件

(4)安装脚本的资源硬检测(install.sh 阶段 [1/10])

检测项 行为
root 权限 非 root 直接中止
CPU 架构 = x86_64 非 x86_64 告警(内置镜像为 amd64)
端口 80/443/17000/17100/17101/20090 被占用则告警(不阻断,可换端口)
根分区可用 < 8 GB 告警「VictoriaMetrics 长期运行可能吃紧」(不阻断)

8 GB 仅为「镜像解包 + 首次起栈」的地板值;生产请按上文预留独立数据盘。CPU/内存脚本不强制检测,按上文档位准备即可。

2.2 软件与系统

2.3 网络

2.4 目录与权限

发行包解压后(示例 rms-distribution-1.1.1/):

rms-distribution-1.1.1/
├── install.sh              # 一键安装入口
├── uninstall.sh            # 卸载
├── README.txt              # 快速开始
├── LICENSE_SN.txt          # 内置正式版序列号
├── VERSION                 # 版本号(不再附 CHECKSUMS 校验码)
├── docs/安装部署说明书.md   # 本文档
├── config/
│   ├── defaults.conf       # 可固化默认参数(域名/TLS/端口…)
│   └── license-shared.env  # SN 集成共享密钥(授权激活用)
├── app/                    # 落地到 /opt/rms(配置、脚本、vSphere 集成物料、sidecar 二进制、大屏产物)
├── pub/                    # 落地到 /opt/rms-fe/pub(品牌化前端静态产物)
├── images/                 # 离线 Docker 镜像(*.tar.gz,docker load)
└── deps/                   # 离线 Docker 引擎静态包 + compose 插件 + 免安装 Python3 运行时

3. 一键安装

3.1 解压

zip 已加密,用交付提供的口令解压(任选其一):

# Linux(支持加密 zip 的 unzip 或 7z)
7z x -p'<口令>' rms-distribution-1.1.1.zip
# 或
unzip rms-distribution-1.1.1.zip      # 交互式输入口令
cd rms-distribution-1.1.1

3.2 安装

sudo bash install.sh

脚本按 10 个阶段自动执行:环境检测 → 确保 Docker/Compose → 离线加载镜像 → 落地应用与前端 → 生成随机密钥 → 启动核心栈 → 部署授权/大屏 sidecar → 配置 Nginx → 初始化平台数据(含 vSphere 虚拟化集成)→ 内置 SN 在线激活,全程幂等(重复执行只修复差异,不重复破坏)。目标机无需联网、无需预装 python3:播种步骤优先复用系统 python3>=3.6,缺失时自动解包内置的 deps/python3-runtime-x86_64.tar.gz 到 /opt/rms/py3 使用。

安装结束会打印访问地址、后台账号、随机口令、授权状态,请妥善保存。

3.3 常用参数

# 指定域名并启用自签 HTTPS(内网/IP 访问)
sudo bash install.sh --domain rms.corp.local --tls self-signed

# 纯 HTTP(最快,内网可信环境)
sudo bash install.sh --tls http

# 公网域名 + Let's Encrypt 自动签发(需 DNS 已解析到本机、80 端口公网可达)
sudo bash install.sh --domain rms.example.com --tls letsencrypt

# 指定管理员口令 / 覆盖内置 SN
sudo bash install.sh --admin-pass 'Str0ngPass!' --sn RMS-XXXX-XXXX-XXXX
参数 取值 默认 说明
--domain 域名或 _ _ _ 接受任意 Host(IP 直连友好)
--tls self-signed/http/letsencrypt self-signed TLS 模式
--http-port / --https-port 端口 80 / 443 对外端口
--admin-user / --admin-pass 账号/口令 admin / 随机 后台管理员
--sn SN 码 读 LICENSE_SN.txt 激活用序列号
--load-images auto/always/skip auto 镜像加载策略
--install-docker auto/always/skip auto 目标机无 Docker 时离线安装

也可把默认值写进 config/defaults.conf(取消相应注释即可),命令行参数优先级更高。


4. 首次登录


5. 授权激活(内置正式版 SN)

本发行包内置正式版授权序列号:

序列号 : RMS-5X6Z-KTUT-86YP
产品   : RMS
额度   : 200 台服务器 / 20 用户
有效期至: 2027-09-01

授权采用「SN 在线激活」,与夜莺解耦、绑定安装机硬件指纹:

5.1 在线激活(默认,安装最后一步自动完成)

安装脚本用内置 SN + 本机指纹调用 rms-license 的 /license/activate-sn,sidecar 再向 SN 服务换取签名 .lic 并本地激活。成功即打印「已激活」。

5.2 在页面激活

登录后台 → 左侧「授权管理」→「SN 在线激活」页签,输入 RMS-5X6Z-KTUT-86YP → 点「获取授权并激活」。页面同时提供「粘贴授权文件」与「上传 .lic 文件」两种方式。

5.3 完全离线激活

若目标机不能访问 SN 服务:在有网机器上打开 SN 控制台,用该 SN 与目标机指纹签发 .lic(POST /api/sn/{id}/lic 或控制台下载),把 .lic 拷到目标机,在「授权管理 → 上传 .lic 文件 / 粘贴授权文件」激活即可。

5.4 查看授权状态

curl -s http://127.0.0.1:17100/license/status
# 关注:activated(是否已激活)、sn、expires_at、bound(指纹)、sn_online(是否支持在线激活)

6. 安装验收

安装脚本结束会自动体检,也可手动核验:

# 1) 容器全部 Up
cd /opt/rms && docker compose ps

# 2) 核心端点
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:17000/api/n9e/version   # 200
curl -s http://127.0.0.1:17100/license/status                                       # JSON
curl -s http://127.0.0.1:17101/healthz                                              # 大屏后端

# 3) 对外入口(HTTPS)
curl -sk -o /dev/null -w '%{http_code}\n' https://<你的地址>/                        # 200

# 4) 指标是否入库并可查(登录后台后)
#    「指标浏览器 / 内置看板」应能看到本机 CPU/内存/磁盘等曲线。

判定标准:核心容器 Up、/api/n9e/version 返回 200、看板有真实曲线、授权状态 activated:true。


7. 运维

7.1 日志

cd /opt/rms && docker compose logs -f nightingale   # 主服务
journalctl -u rms-license -f                          # 授权 sidecar
journalctl -u rmsgoview -f                            # 大屏后端
tail -f /var/log/nginx/error.log                      # 入口

7.2 重启 / 停止

cd /opt/rms && docker compose restart          # 重启核心栈
systemctl restart rms-license rmsgoview        # 重启 sidecar
systemctl reload nginx                          # 重载入口配置

7.3 升级

  1. 备份 /opt/rms/.env、/etc/rms/license.env、MySQL 与 VictoriaMetrics 数据卷;
  2. 用新版本发行包解压,停旧栈:cd /opt/rms && docker compose down(勿加 -v,保留数据卷);
  3. 执行新包 bash install.sh(脚本对已有数据幂等:.env、已激活许可、已建数据源均复用);
  4. 验收(§6)。

7.4 备份

# 元数据(MySQL,容器内)
docker exec rms-mysql sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" n9e_v6' > n9e_v6.$(date +%F).sql
# 授权许可文件
cp -a /var/lib/rms/license.lic /backup/rms-license.$(date +%F).lic 2>/dev/null || true
# 时序数据卷(可选,按需打包 vmdata)

7.5 卸载

bash uninstall.sh            # 停服务与容器,保留数据
bash uninstall.sh --purge    # 彻底清除程序、前端、sidecar、数据与 nginx 站点

8. 常见问题(FAQ)

Q1:安装脚本报「目标机未安装 nginx」? A:nginx 属系统级依赖(不随应用镜像分发)。请先 yum install -y nginx 或 apt-get install -y nginx 再重跑 install.sh(幂等)。

Q2:看板没有数据 / 查不到指标?(借鉴夜莺官方排查) A:① Categraf 是否正常写出:docker compose logs categraf 无持续报错;② n9e 的时序数据源(VictoriaMetrics)是否已登记(安装脚本 seed-rms.py 会自动 ensure,可重跑);③ 若自行改用 Prometheus 作为时序库,须开启 remote write receiver(新版 --web.enable-remote-write-receiver,旧版 --enable-feature=remote-write-receiver),否则 n9e 写不进去、日志会出现请求 /api/v1/write 返回 404 的 WARNING。

Q3:必须的外部依赖有哪些? A:本包已内置全栈(MySQL 8.0、Redis 6.2、VictoriaMetrics、Nightingale 9.1.1、Categraf)。夜莺通用依赖为:MySQL 5.7+/PostgreSQL 14+、Redis 5+、任一 TSDB——本包均以容器形式一体化交付。生产不建议用 SQLite(多进程/告警并发写入不稳)。

Q4:在线激活失败(SN 无效 / 无法访问 SN / 已绑定其他服务器)? A:① 确认目标机可访问 https://sn.thinkalike.com.cn;② 确认 SN 状态有效、未过期、未被别的机器绑定;③ 换机请先在 SN 控制台解绑;④ 实在无外网走离线 .lic(§5.3)。

Q5:能否不启用授权锁定? A:默认 RMS_LIC_ENFORCED=false,未激活时闸门 fail-open(只读可用、绝不锁站)。私有化交付如需强制写权限门控,可在 /etc/rms/license.env 设 RMS_LIC_ENFORCED=true 后 systemctl restart rms-license。

Q6:80/443 被占用? A:用 --http-port/--https-port 换端口;或先停占用进程。安装脚本会在环境检测阶段提示端口冲突。

Q7:证书告警/大屏设计器打不开? A:rmsgoview(:17101)与 nginx /api/goview/ 反代相关,检查 systemctl status rmsgoview;大屏叠加层在 /opt/rms/bigscreen,设计器需以管理员登录。


9. 安全说明


10. 附录:内置授权信息

项 值
产品 RMS
序列号 RMS-5X6Z-KTUT-86YP
服务器额度 200
用户额度 20
有效期至 2027-09-01
类型 正式版(非试用)
激活方式 SN 在线激活 / 离线 .lic
SN 服务 https://sn.thinkalike.com.cn

续期或扩容:在 SN 控制台对序列号续期(/api/sn/{id}/renew)或申请新 SN,无需重装。


本文档结构参考夜莺官方安装文档(flashcat.cloud/docs · Nightingale v9 安装前置说明 / Docker Compose 部署),并结合 Think RMS 产品化发行包离线自足、内置授权的实现整理。