RMT 升级:技术参考

本部分是升级过程中检查的操作阈值、系统路径和网络端口的技术参考指南。使用这些表来快速诊断验证故障,并使您的环境与所需的 RMT 基准保持一致。

注意:为了与我们公司的平等价值观保持一致,我们已将 RMT Master 更新为 RMT Server。在某些情况下,RMT Server 安装路径和命令可能使用术语“Master”而不是“Server”。因此,您可能会继续在 CLI 命令和选项、安装文件夹、配置文件和其他实例中看到这些术语。有关详细信息,请参见关于 Tableau 帮助(链接在新窗口中打开)

升级前运行状况检查

升级前运行状况检查会在现有安装仍然完好无损(如服务正在运行、数据库可访问)时检查您的 RMT Server 或代理主机,并生成详细的 PASS/FAIL/WARN 报告。它对系统资源、帐户、文件权限、PostgreSQL、RabbitMQ、网络、配置文件和 RMT 服务运行 80 多项单独检查。下表列出了升级之前执行的检查。如果任何项目返回 FAIL 状态(退出代码 2),则取消升级。

系统和硬件

检查 ID名称 平台故障 (FAIL)/警告 (WARN) 条件
#1操作系统Linux、WindowsWARN 操作系统版本不在预检查允许列表中。支持的列表为 RHEL 8.x/9.x、Ubuntu 20.04/22.04/24.04、CentOS Stream 8/9、Oracle Linux 8.x/9.x、AlmaLinux 8.x/9.x、Rocky Linux 8.x/9.x、Amazon Linux 2023、Windows Server 2019/2022
#2磁盘空间Linux、WindowsFAIL RMT Server < 20 GB 或 Agent < 5 GB 可用空间。WARN RMT Server < 50 GB 或 Agent < 10 GB 可用空间
#2a磁盘类型Linux、WindowsINFO 报告驱动器是 SSD 还是 HDD
#3

RAM

Linux、WindowsWARN RMT Server < 8 GB(最小值)或 Agent < 4 GB(最小值)
#4CPU 内核Linux、WindowsWARN RMT Server < 8 GB(最小值)或 Agent < 4 GB(最小值)
#4aCPU 指令Linux、WindowsFAIL (Linux):缺少 sse4_2 或 popcnt。WARN (Windows):检测到较旧的 CPU。
#4bVC++ RedistWindowsFAIL 缺少 Visual Studio 2022 C++ Redistributable。
#4cOpenSSL DLLsWindowsINFO 检查 libcrypto-3-x64.dll 和 libssl-3-x64.dll
#5系统正常运行时间Linux、WindowsINFO:如果 < 10分钟(最近重新启动)或 > 90 天(挂起的修补程序)的注意事项
#6Systemd 正在运行LinuxFAIL systemd 未运行,PASS:正在运行或已降级
#7FIPS 模式Linux、WindowsFAIL (Windows):在注册表中启用,PASS FIPS 已禁用。WARN (Linux) 与 config.json 不匹配。PASS 操作系统和配置匹配
#7aPowerShell 版本WindowsINFO PowerShell 版本
#7b系统区域设置WindowsINFO 系统区域设置信息
#7cWMI 运行状况WindowsWARN WMI 存储库不一致

 

帐户和权限

检查 ID名称 平台故障 (FAIL)/警告 (WARN) 条件
#8服务帐户Linux、WindowsFAIL 找不到 RMT 服务帐户或 Windows 服务
#9组成员身份LinuxFAIL 缺少必需的服务组(例如,rmtmasterapp、rmtmasterconfig 等)
#10用户 SystemdLinuxFAIL 用户 systemd daemon/linger 未处于活动状态
#44已安装 pamtesterLinux如果未安装,则为 WARN。若要解决此问题,请安装 yum install pamtesterapt install libpam-runtime

Linux 的目录所有权和权限

检查 ID目录 Expected Owner:Group预期模式
#11配置目录tabrmt-master:rmtmasterconfig2775
#12日志目录tabrmt-master:rmtmasterlogs2775
#13数据目录(+ PG/RMQ 子目录)与组件匹配2775
#14先决条件目录root 或组件用户755
#14arabbitmq-defaults 文件需要 Group-writableg+w
#15SSL 证书目录tabrmt-master:rmtopenssl2775
#15a主目录组件用户770
#15b/etc/profile.d/tabrmt-*.shroot默认值
#15c配置目录 setgid bit--需要 2xxx
#16environment.bash组件用户group-writable

严重性:仅对于 data-dir 集(#13 和 #15)的所有权为 FAIL。所有其他 Linux 目录检查(#11、#12、#14、#14a、#15a–c、#16)会在所有权/模式不匹配时发出 WARN,因为安装程序的安装后操作会在升级期间重新应用所有权。如果权限模式错误但所有权正确,则为 WARN

Windows 的目录所有权和权限

检查 名称严重程度
#11配置目录 ACL如果服务用户缺少 FullControl 权限,则为 FAIL
#12日志目录 ACL如果服务用户缺少修改权限,则为 FAIL
#13数据目录 ACL (RMT Server)如果服务用户对 PG/RMQ 数据目录缺少 FullControl 权限,则为 FAIL
#14先决条件目录 ACL (RMT Server)如果缺少 ReadAndExecute 权限,则为 WARN(公告 — 每次升级都会重新安装先决条件 MSI,其安装后操作会重新应用 ACL)
#15SSL 证书目录 ACL (RMT Server)如果服务用户缺少 FullControl 权限,则为 FAIL
#16a服务用户身份PASS(信息性 -- 显示服务以哪个用户身份运行)
#16bSeServiceLogonRight 权限INFO(如果找到);如果未找到或 secedit 失败,则为 WARN
#16cRMT 目录上的服务用户 ACL如果服务用户缺少必需的权限,则为 FAIL

 

数据库 (PostgreSQL)

所有 PostgreSQL 检查仅在 RMT Server 上运行。

检查 ID名称 需要 --db-password 选项故障 (FAIL)/警告 (WARN) 条件
#17PG 服务FAIL 本地服务已停止和禁用
#18端口 5555 侦听WARN(安全组/VPC / RDS 提示)不侦听
#19DB ConnectionWARN 无法连接到内部数据库(SSL、密码或网络问题)

 

消息传递 (RabbitMQ)

消息传递 (RabbitMQ) 检查仅在 RMT Server 上运行。

检查 ID名称 故障 (FAIL)/警告 (WARN) 条件
#22RMQ 服务FAIL 本地服务已停止和禁用
#24队列积压WARN 任何有超过 10,000 条消息的队列
#25RabbitMQ 用户如果默认 guest 用户仍然存在,则为 WARN
#26活动连接仅为 INFO。报告活动连接计数
#27可访问 Erlang Cookie如果缺少 Cookie 文件,如果权限错误(应为模式 400 或 600),则为 WARN
#27a已设置 ERLANG_HOME如果未设置“ERLANG_HOME”或路径不存在,则为 WARN(仅限 Windows)。
#27bSSL 有效性FAIL 证书已过期
#27c磁盘告警FAIL RMQ 分钟上的可用空间少于 10 GB(升级将挂起)
#45已填充证书目录如果证书目录存在,但为空或缺少预期的证书文件(服务器证书、密钥、CA 证书),则为 WARN

网络和配置

检查 ID名称 故障 (FAIL)/警告 (WARN) 条件
#28a/b代理与 Master 的通信WARN 代理无法通过 5671、5672、80 或 443 访问 Master
#33-35JSON/Bash ConfigFAIL config.json、setup.json 或 environment.bash 缺失或无效
#36a已知错误版本FAIL 当前版本为 2025.3.0(回归块升级)

服务和备份

检查 ID名称 故障 (FAIL)/警告 (WARN) 条件
#38所有 RMT 服务正在运行对于每个停止的服务为 WARN
#38a停滞进程FAIL 服务停止后发现残留的 tabrmt-* 进程
#39后台处理器正在运行如果主机进程未运行,则为 WARN
#40升级前备份提醒WARN 作为升级前备份配置的提醒
#41拓扑仅为 INFO。报告 Master/代理节点类型和(带 DB)活动代理计数
#42组件版本清单仅为 INFO。报告 RMT、PostgreSQL、RabbitMQ、OpenSSL 版本
#43计算机规格摘要仅为 INFO。报告操作系统、CPU 内核、RAM、可用磁盘空间

 

升级后运行状况检查

这些检查在升级后运行。它们不会阻止,失败不会停止升级,但会指示安装后问题。

检查 ID名称 组件故障 (FAIL)/警告 (WARN) 条件
#1a-d服务和进程RMT Server, AgentFAIL 主服务、PG 服务或 RMQ 服务未运行
#2主机进程管理程序RMT Server, AgentWARN 主机管理程序进程缺失(无自动恢复)
#3a-b配置文件完整性RMT Server, Agent如果 JSON 缺失或无效,则为 FAIL
#4a-b文件权限RMT Server, AgentFAIL 配置/日志目录不可由服务帐户读取/写入
#5a-d端口侦听RMT ServerFAIL Web (443)、AMQP (5672) 或 DB (5555) 未侦听
#6PostgreSQL 连接RMT ServerFAIL PostgreSQL 未接受连接
#7RabbitMQ 状态RMT Server如果是外部的,则为 SKIP。在所有重试次数耗尽后为 FAIL
#8a队列使用者RMT ServerWARN 存在积压,但没有活动使用者(Master 工作线程断开连接)
#9RMQ 告警RMT ServerFAIL 检测到活动内存或磁盘资源警报
#10RabbitMQ SSL 证书RMT Server如果证书过期,则为 FAIL。如果证书在 30 天内过期,则为 WARN
#11FIPS 匹配RMT Server, AgentFAIL 操作系统 FIPS 状态不匹配 isFIPSEnabled 配置
#12Web 服务器 HTTP 响应RMT Server将 HTTP GET 设置为“https://localhost:<port>/authentication/loginn”。出现 200 或 302 时为 PASS。连接被拒绝/超时时为 FAIL。出现其他错误时为 WARN
#13HTTPS 证书有效期RMT ServerFAIL Web 服务器 TLS 证书已过期
#14a-d磁盘空间RMT Server, AgentFAIL 可用空间少于 1 GBWARN:可用空间少于 5 GB
#15最近的日志错误RMT Server, AgentFAIL 日志中的致命错误。WARN:严重错误
#16RMT 状态RMT Server, AgentFAIL rmtadmin 状态返回故障模式
#17Agent 日志历史记录Agent检查代理数据目录中的日志跟踪文件 (.history, .json)。如果文件不可读或损坏,则为 WARN
#18a-f库存版本RMT Server, AgentINFO 关于 RMT 版本、PostgreSQL 版本、RabbitMQ 版本、Erlang/OTP 版本、.NET 运行时 (Windows)/操作系统 (Linux)、操作系统版本 (Windows)/内核 (Linux) 的信息

运行状况退出代码

使用以下退出代码解释升级前和升级后运行状况检查脚本的结果。

升级前脚本

退出代码状态 升级行为
0READY TO UPGRADE升级继续进行
1UPGRADE WITH CAUTION升级继续进行;查看警告
2请勿升级升级已取消
3脚本错误检查执行环境

升级后脚本

退出代码状态
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL FAILURES

InstallerContext 严重性更改

在自动 Windows MSI 升级期间使用 -InstallerContext 运行时,以下检查的行为与手动默认值不同。默认(非 InstallerContext)行为对于“已停止但未禁用”/“端口未侦听”状态*已经*是 WARN;为“已停止+已禁用”保留 FAIL。在“-InstallerContext”下,甚至“已禁用”分支也会报告为 WARN,因此正在进行的安装程序驱动的升级永远不会被安装程序即将修复的暂时状态否决。

检查 名称 默认值InstallerContext
#17PG 服务如果已停止则为 WARN,如果已停止且已禁用则为 FAIL,如果全部停止,则为 INFOWARN
#18PG 端口如果未侦听则为 WARN,如果所有服务停止则为 INFOWARN
#22RabbitMQ 服务如果已停止则为 WARN,如果已停止且已禁用,则为 FAIL,如果全部停止,则为 INFOWARN
#23Port 5672 (AMQP)如果未侦听则为 WARN,如果所有服务停止则为 INFOWARN
#38a停滞的 RMT 进程(请参见检查描述)SKIP(安装程序管理进程生命周期)

升级前阈值

阈值 RMT Server Agent单位
磁盘空间 FAIL205可用 GB
磁盘空间 WARN5010可用 GB
临时目录 FAIL55可用 GB
临时目录 WARN1010可用 GB
RAM FAIL84GB
RAM WARN168GB
CPU FAIL42内核
CPU WARN84内核
数据库大小 FAIL500-GB
数据库大小 WARN200-GB
Hangfire 架构 FAIL10-GB
Hangfire 架构 WARN1-GB
WAL 目录 FAIL (Windows)10-GB
WAL 目录 FAIL (Windows)2-GB
WAL 目录 FAIL (Linux)10-GB
Mnesia 目录 WARN5-GB
RabbitMQ 磁盘告警 FAIL10-可用 GB
队列积压 WARN10,000-消息
证书过期 WARN3030
清理保留 WARN180-
死元组率 WARN20-百分比
代理心跳过时15-分钟
网络驱动程序期限 WARN3-
日志目录大小 WARN55GB
日志目录大小 WARN(严重)2020GB

升级后阈值

阈值单位
磁盘空间 FAIL1可用 GB
磁盘空间 WARN5可用 GB
证书过期 WARN30
队列积压 WARN10,000消息
日志扫描窗口60分钟
RabbitMQ 启动重试6 次尝试 x 5 秒共 30 秒

 

支持的最低组件版本

组件最低版本
RabbitMQ3.10.10 及更高版本
代理版本2023.1.0 及更高版本

自动化和 CI/CD 集成

对于 Linux:

```base
# Linux
sudo bash rmt-pre-upgrade-check.sh --component master --db-password "$DB_PASSWORD"
EXIT_CODE=$?
if [ $EXIT_CODE -eq 2 ]; then
echo "BLOCKED: Fix critical issues before upgrading"
exit 1
fi
```

对于 Windows:

```powershell
# Windows
.\rmt-pre-upgrade-check.ps1 -Component master
if ($LASTEXITCODE -eq 2) {
Write-Error "BLOCKED: Fix critical issues before upgrading"
exit 1
}
```

 

安装目录参考

若要手动调用基础诊断实用程序或验证安装结构,请参阅特定于平台的目录路径:

Linux 目录结构

```

/opt/tableau/tabrmt/ # Install root

+-- master/ # Master application binaries

+-- agent/ # Agent application binaries

+-- prerequisites/ # Bundled dependencies

/var/opt/tableau/tabrmt/ # Data root

+-- master/config/ # config.json, setup.json

+-- master/logs/ # Application logs

+-- data/postgresql15/ # PostgreSQL data files

+-- data/rabbitmq313/ # RabbitMQ data/mnesia

+-- data/ssl/ # TLS certificates

/etc/opt/tableau/tabrmt/

+-- master/environment.bash # Master environment variables

+-- agent/environment.bash # Agent environment variables

```

Windows 目录结构

```

C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root

C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root

```

所需网络端口

端口服务 方向
80RMT Web UI (HTTP)入站
443RMT Web UI (HTTPS)入站
5672RabbitMQ AMQPRMT Server 上的入站
5671基于 TLS 的 RabbitMQ AMQPRMT Server 上的入站
15672RabbitMQ 管理 UI本地
25672RabbitMQ 节点间本地
5555内部 PostgreSQL本地
感谢您的反馈!您的反馈已成功提交。谢谢!