---
schema_version: "1"
id: 50016671fe4ad4e9c623ad113622705efcd0334dd50aa675a02e716377b1c70b
title: RMT 升级：技术参考
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server-linux/rmt-admin-upgrade-reference.md
canonical_url: https://help.tableau.com/v0.0/server-linux/zh-cn/rmt-admin-upgrade-reference.htm
source_site: help.tableau.com
content_type: documentation
content_hash: cbaa8c840df14fc5854110ab51bcccd91cdd2ce44df74e35102e5df0a94d58b5
description: Technical reference of operational thresholds and checks during RMT upgrade.
---
[跳转到主要内容](#main-content)

# RMT 升级：技术参考

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

**注意**：为了与我们公司的平等价值观保持一致，我们已将 RMT Master 更新为 RMT Server。在某些情况下，RMT Server 安装路径和命令可能使用术语“Master”而不是“Server”。因此，您可能会继续在 CLI 命令和选项、安装文件夹、配置文件和其他实例中看到这些术语。有关详细信息，请参见[关于 Tableau 帮助](https://help.tableau.com/current/tableau/zh-cn/about-tableau-help.htm)。

## 升级前运行状况检查

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

### 系统和硬件

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 158px;"><col style="width: 23%;"><col style="width: 23%;"><col style="width: 438px;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>名称 </strong></td><td><b>平台</b></td><td style="text-align: center;"><strong>故障 (FAIL)/警告 (WARN) 条件</strong></td></tr><tr><td>#1</td><td style="text-align: center;">操作系统</td><td>Linux、Windows</td><td style="text-align: center;"><b>WARN</b> 操作系统版本不在预检查允许列表中。支持的列表为 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</td></tr><tr><td>#2</td><td style="text-align: center;">磁盘空间</td><td>Linux、Windows</td><td style="text-align: center;"><b>FAIL</b> RMT Server &lt; 20 GB 或 Agent &lt; 5 GB 可用空间。<b>WARN</b> RMT Server &lt; 50 GB 或 Agent &lt; 10 GB 可用空间</td></tr><tr><td>#2a</td><td style="text-align: center;">磁盘类型</td><td>Linux、Windows</td><td style="text-align: center;"><b>INFO</b> 报告驱动器是 SSD 还是 HDD</td></tr><tr><td>#3</td><td style="text-align: center;"><p>RAM</p></td><td>Linux、Windows</td><td style="text-align: center;"><b>WARN</b> RMT Server &lt; 8 GB（最小值）或 Agent &lt; 4 GB（最小值）</td></tr><tr><td>#4</td><td style="text-align: center;">CPU 内核</td><td>Linux、Windows</td><td style="text-align: center;"><b>WARN</b> RMT Server &lt; 8 GB（最小值）或 Agent &lt; 4 GB（最小值）</td></tr><tr><td>#4a</td><td style="text-align: center;">CPU 指令</td><td>Linux、Windows</td><td style="text-align: center;"><b>FAIL</b> (Linux)：缺少 sse4_2 或 popcnt。<b>WARN</b> (Windows)：检测到较旧的 CPU。</td></tr><tr><td>#4b</td><td style="text-align: center;">VC++ Redist</td><td>Windows</td><td style="text-align: center;"><b>FAIL</b> 缺少 Visual Studio 2022 C++ Redistributable。</td></tr><tr><td>#4c</td><td style="text-align: center;">OpenSSL DLLs</td><td>Windows</td><td style="text-align: center;"><b>INFO</b> 检查 libcrypto-3-x64.dll 和 libssl-3-x64.dll</td></tr><tr><td>#5</td><td style="text-align: center;">系统正常运行时间</td><td>Linux、Windows</td><td style="text-align: center;font-weight: bold;">INFO：<span style="font-weight: normal;">如果 &lt; 10分钟（最近重新启动）或 &gt; 90 天（挂起的修补程序）的注意事项</span></td></tr><tr><td>#6</td><td style="text-align: center;">Systemd 正在运行</td><td>Linux</td><td style="text-align: center;"><b>FAIL</b> systemd 未运行，<b>PASS</b>：正在运行或已降级</td></tr><tr><td>#7</td><td style="text-align: center;">FIPS 模式</td><td>Linux、Windows</td><td style="text-align: center;"><b>FAIL</b> (Windows)：在注册表中启用，<b>PASS </b>FIPS 已禁用。<b>WARN</b> (Linux) 与 config.json 不匹配。<b>PASS</b> 操作系统和配置匹配</td></tr><tr><td>#7a</td><td style="text-align: center;">PowerShell 版本</td><td>Windows</td><td style="text-align: center;"><b>INFO</b> <span style="font-weight: normal;">PowerShell 版本</span></td></tr><tr><td>#7b</td><td style="text-align: center;">系统区域设置</td><td>Windows</td><td style="text-align: center;"><b>INFO</b> <span style="font-weight: normal;">系统区域设置信息</span></td></tr><tr><td>#7c</td><td style="text-align: center;">WMI 运行状况</td><td>Windows</td><td style="text-align: center;"><b>WARN</b> WMI 存储库不一致</td></tr></tbody></table>

### 帐户和权限

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 161px;"><col style="width: 23%;"><col style="width: 23%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>名称</strong></td><td><b>平台</b></td><td style="text-align: center;"><strong>故障 (FAIL)/警告 (WARN) 条件</strong></td></tr><tr><td>#8</td><td style="text-align: center;">服务帐户</td><td>Linux、Windows</td><td style="text-align: center;"><b>FAIL</b> 找不到 RMT 服务帐户或 Windows 服务</td></tr><tr><td>#9</td><td style="text-align: center;">组成员身份</td><td>Linux</td><td style="text-align: center;"><b>FAIL</b> 缺少必需的服务组（例如，rmtmasterapp、rmtmasterconfig 等）</td></tr><tr><td>#10</td><td style="text-align: center;">用户 Systemd</td><td>Linux</td><td style="text-align: center;"><b>FAIL</b> 用户 systemd daemon/linger 未处于活动状态</td></tr><tr><td>#44</td><td style="text-align: center;">已安装 pamtester</td><td>Linux</td><td style="text-align: center;">如果未安装，则为 <b>WARN</b>。若要解决此问题，请安装 <code>yum install pamtester</code> 或 <code>apt install libpam-runtime</code></td></tr></tbody></table>

#### Linux 的目录所有权和权限

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"><col style="width: 21%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>目录</strong></td><td style="font-weight: bold;">Expected Owner:Group</td><td style="text-align: center;font-weight: bold;">预期模式</td></tr><tr><td>#11</td><td style="text-align: center;">配置目录</td><td>tabrmt-master:rmtmasterconfig</td><td style="text-align: center;">2775</td></tr><tr><td>#12</td><td style="text-align: center;">日志目录</td><td>tabrmt-master:rmtmasterlogs</td><td style="text-align: center;">2775</td></tr><tr><td>#13</td><td style="text-align: center;">数据目录（+ PG/RMQ 子目录）</td><td>与组件匹配</td><td style="text-align: center;">2775</td></tr><tr><td>#14</td><td style="text-align: center;">先决条件目录</td><td><code>root</code> 或组件用户</td><td style="text-align: center;">755</td></tr><tr><td>#14a</td><td style="text-align: center;"><code>rabbitmq-defaults</code> 文件</td><td>需要 Group-writable</td><td style="text-align: center;">g+w</td></tr><tr><td>#15</td><td style="text-align: center;">SSL 证书目录</td><td>tabrmt-master:rmtopenssl</td><td style="text-align: center;">2775</td></tr><tr><td>#15a</td><td style="text-align: center;">主目录</td><td>组件用户</td><td style="text-align: center;">770</td></tr><tr><td>#15b</td><td style="text-align: center;"><code>/etc/profile.d/tabrmt-*.sh</code></td><td>root</td><td style="text-align: center;">默认值</td></tr><tr><td>#15c</td><td style="text-align: center;">配置目录 setgid bit</td><td>--</td><td style="text-align: center;">需要 2xxx</td></tr><tr><td>#16</td><td style="text-align: center;"><code>environment.bash</code></td><td>组件用户</td><td style="text-align: center;">group-writable</td></tr></tbody></table>

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

#### Windows 的目录所有权和权限

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查</b></td><td style="text-align: center;"><strong>名称</strong></td><td style="font-weight: bold;">严重程度</td></tr><tr><td>#11</td><td style="text-align: center;">配置目录 ACL</td><td>如果服务用户缺少 FullControl 权限，则为 <b>FAIL</b></td></tr><tr><td>#12</td><td style="text-align: center;">日志目录 ACL</td><td>如果服务用户缺少修改权限，则为 <b>FAIL</b></td></tr><tr><td>#13</td><td style="text-align: center;">数据目录 ACL (RMT Server)</td><td>如果服务用户对 PG/RMQ 数据目录缺少 FullControl 权限，则为 <b>FAIL</b></td></tr><tr><td>#14</td><td style="text-align: center;">先决条件目录 ACL (RMT Server)</td><td>如果缺少 ReadAndExecute 权限，则为 <b>WARN</b>（公告 — 每次升级都会重新安装先决条件 MSI，其安装后操作会重新应用 ACL）</td></tr><tr><td>#15</td><td style="text-align: center;">SSL 证书目录 ACL (RMT Server)</td><td>如果服务用户缺少 FullControl 权限，则为 <b>FAIL</b></td></tr><tr><td>#16a</td><td style="text-align: center;">服务用户身份</td><td><b>PASS</b>（信息性 -- 显示服务以哪个用户身份运行）</td></tr><tr><td>#16b</td><td style="text-align: center;">SeServiceLogonRight 权限</td><td><b>INFO</b>（如果找到）；如果未找到或 secedit 失败，则为 <b>WARN</b></td></tr><tr><td>#16c</td><td style="text-align: center;">RMT 目录上的服务用户 ACL</td><td>如果服务用户缺少必需的权限，则为 <b>FAIL</b></td></tr></tbody></table>

### 数据库 (PostgreSQL)

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

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 233px;"><col style="width: 23%;"><col style="width: 23%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>名称</strong></td><td><b>需要 --</b><code style="font-weight: bold;">db-password</code><b> 选项</b></td><td style="text-align: center;"><strong>故障 (FAIL)/警告 (WARN) 条件</strong></td></tr><tr><td>#17</td><td style="text-align: center;">PG 服务</td><td>否</td><td style="text-align: center;"><b>FAIL</b> 本地服务已停止和禁用</td></tr><tr><td>#18</td><td style="text-align: center;">端口 5555 侦听</td><td>否</td><td style="text-align: center;"><b>WARN</b>（安全组/VPC / RDS 提示）不侦听</td></tr><tr><td>#19</td><td style="text-align: center;">DB Connection</td><td>是</td><td style="text-align: center;"><b>WARN</b> 无法连接到内部数据库（SSL、密码或网络问题）</td></tr></tbody></table>

### 消息传递 (RabbitMQ)

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

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 234px;"><col style="width: 23%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>名称</strong></td><td style="text-align: center;"><strong>故障 (FAIL)/警告 (WARN) 条件</strong></td></tr><tr><td>#22</td><td style="text-align: center;">RMQ 服务</td><td style="text-align: center;"><b>FAIL</b> 本地服务已停止和禁用</td></tr><tr><td>#24</td><td style="text-align: center;">队列积压</td><td style="text-align: center;"><b>WARN</b> 任何有超过 10,000 条消息的队列</td></tr><tr><td>#25</td><td style="text-align: center;">RabbitMQ 用户</td><td style="text-align: center;">如果默认 <code>guest</code> 用户仍然存在，则为 <b>WARN</b></td></tr><tr><td>#26</td><td style="text-align: center;">活动连接</td><td style="text-align: center;">仅为 <b>INFO</b>。报告活动连接计数</td></tr><tr><td>#27</td><td style="text-align: center;">可访问 Erlang Cookie</td><td style="text-align: center;">如果缺少 Cookie 文件，如果权限错误（应为模式 400 或 600），则为 <b>WARN</b></td></tr><tr><td>#27a</td><td style="text-align: center;">已设置 ERLANG_HOME</td><td style="text-align: center;">如果未设置“ERLANG_HOME”或路径不存在，则为 <b>WARN</b>（仅限 Windows）。</td></tr><tr><td>#27b</td><td style="text-align: center;">SSL 有效性</td><td style="text-align: center;"><b>FAIL</b> 证书已过期</td></tr><tr><td>#27c</td><td style="text-align: center;">磁盘告警</td><td style="text-align: center;"><b>FAIL</b> RMQ 分钟上的可用空间少于 10 GB（升级将挂起）</td></tr><tr><td>#45</td><td style="text-align: center;">已填充证书目录</td><td style="text-align: center;">如果证书目录存在，但为空或缺少预期的证书文件（服务器证书、密钥、CA 证书），则为 <b>WARN</b></td></tr></tbody></table>

### 网络和配置

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 245px;"><col style="width: 23%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>名称</strong></td><td style="text-align: center;"><strong>故障 (FAIL)/警告 (WARN) 条件</strong></td></tr><tr><td>#28a/b</td><td style="text-align: center;">代理与 Master 的通信</td><td style="text-align: center;"><b>WARN</b> 代理无法通过 5671、5672、80 或 443 访问 Master</td></tr><tr><td>#33-35</td><td style="text-align: center;">JSON/Bash Config</td><td style="text-align: center;"><b>FAIL</b> config.json、setup.json 或 environment.bash 缺失或无效</td></tr><tr><td>#36a</td><td style="text-align: center;">已知错误版本</td><td style="text-align: center;"><b>FAIL</b> 当前版本为 2025.3.0（回归块升级）</td></tr></tbody></table>

### 服务和备份

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 215px;"><col style="width: 23%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查 ID</b></td><td style="text-align: center;"><strong>名称</strong></td><td style="text-align: center;"><strong>故障 (FAIL)/警告 (WARN) 条件</strong></td></tr><tr><td>#38</td><td style="text-align: center;">所有 RMT 服务正在运行</td><td style="text-align: center;">对于每个停止的服务为 <b>WARN</b></td></tr><tr><td>#38a</td><td style="text-align: center;">停滞进程</td><td style="text-align: center;"><b>FAIL</b> 服务停止后发现残留的 tabrmt-* 进程</td></tr><tr><td>#39</td><td style="text-align: center;">后台处理器正在运行</td><td style="text-align: center;">如果主机进程未运行，则为 <b>WARN</b></td></tr><tr><td>#40</td><td style="text-align: center;">升级前备份提醒</td><td style="text-align: center;"><b>WARN</b> 作为升级前备份配置的提醒</td></tr><tr><td>#41</td><td style="text-align: center;">拓扑</td><td style="text-align: center;">仅为 <b>INFO</b>。报告 Master/代理节点类型和（带 DB）活动代理计数</td></tr><tr><td>#42</td><td style="text-align: center;">组件版本清单</td><td style="text-align: center;">仅为 <b>INFO</b>。报告 RMT、PostgreSQL、RabbitMQ、OpenSSL 版本</td></tr><tr><td>#43</td><td style="text-align: center;">计算机规格摘要</td><td style="text-align: center;">仅为 <b>INFO</b>。报告操作系统、CPU 内核、RAM、可用磁盘空间</td></tr></tbody></table>

## 升级后运行状况检查

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

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

## 运行状况退出代码

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

### 升级前脚本

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"><col style="width: 421px;"></colgroup><tbody><tr><td><b>退出代码</b></td><td style="text-align: center;"><strong>状态</strong></td><td><b>升级行为</b></td></tr><tr><td>0</td><td style="text-align: center;">READY TO UPGRADE</td><td>升级继续进行</td></tr><tr><td>1</td><td style="text-align: center;">UPGRADE WITH CAUTION</td><td>升级继续进行；查看警告</td></tr><tr><td>2</td><td style="text-align: center;">请勿升级</td><td>升级已取消</td></tr><tr><td>3</td><td style="text-align: center;">脚本错误</td><td>检查执行环境</td></tr></tbody></table>

### 升级后脚本

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 669px;"></colgroup><tbody><tr><td style="font-weight: bold;">退出代码</td><td style="text-align: center;"><strong>状态</strong></td></tr><tr><td>0</td><td style="text-align: center;">ALL PASSED</td></tr><tr><td>1</td><td style="text-align: center;">WARNINGS PRESENT</td></tr><tr><td>2</td><td style="text-align: center;">CRITICAL FAILURES</td></tr></tbody></table>

## InstallerContext 严重性更改

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

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"><col style="width: 21%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>检查</b></td><td style="text-align: center;"><strong>名称</strong></td><td><b>默认值</b></td><td style="text-align: center;"><strong>InstallerContext</strong></td></tr><tr><td>#17</td><td style="text-align: center;">PG 服务</td><td>如果已停止则为 <b>WARN</b>，如果已停止且已禁用则为 <b>FAIL</b>，如果全部停止，则为 <b>INFO</b></td><td style="text-align: center;">WARN</td></tr><tr><td>#18</td><td style="text-align: center;">PG 端口</td><td>如果未侦听则为 <b>WARN</b>，如果所有服务停止则为 <b>INFO</b></td><td style="text-align: center;">WARN</td></tr><tr><td>#22</td><td style="text-align: center;">RabbitMQ 服务</td><td>如果已停止则为 <b>WARN</b>，如果已停止且已禁用，则为 <b>FAIL</b>，如果全部停止，则为 <b>INFO</b></td><td style="text-align: center;">WARN</td></tr><tr><td>#23</td><td style="text-align: center;">Port 5672 (AMQP)</td><td>如果未侦听则为 <b>WARN</b>，如果所有服务停止则为 <b>INFO</b></td><td style="text-align: center;">WARN</td></tr><tr><td>#38a</td><td style="text-align: center;">停滞的 RMT 进程</td><td>（请参见检查描述）</td><td style="text-align: center;">SKIP（安装程序管理进程生命周期）</td></tr></tbody></table>

### 升级前阈值

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"><col style="width: 21%;"><col style="width: 21%;"></colgroup><tbody><tr><td><b>阈值</b></td><td style="text-align: center;"><strong>RMT&nbsp;Server</strong></td><td style="font-weight: bold;">Agent</td><td style="text-align: center;font-weight: bold;">单位</td></tr><tr><td>磁盘空间 FAIL</td><td style="text-align: center;">20</td><td>5</td><td style="text-align: center;">可用 GB</td></tr><tr><td>磁盘空间 WARN</td><td style="text-align: center;">50</td><td>10</td><td style="text-align: center;font-weight: bold;"><span style="font-weight: normal;">可用 GB</span></td></tr><tr><td>临时目录 FAIL</td><td style="text-align: center;">5</td><td>5</td><td style="text-align: center;">可用 GB</td></tr><tr><td>临时目录 WARN</td><td style="text-align: center;">10</td><td>10</td><td style="text-align: center;font-weight: bold;"><span style="font-weight: normal;">可用 GB</span></td></tr><tr><td>RAM FAIL</td><td style="text-align: center;">8</td><td>4</td><td style="text-align: center;font-weight: bold;"><span style="font-weight: normal;">GB</span></td></tr><tr><td>RAM WARN</td><td style="text-align: center;">16</td><td>8</td><td style="text-align: center;font-weight: bold;"><span style="font-weight: normal;">GB</span></td></tr><tr><td>CPU FAIL</td><td style="text-align: center;">4</td><td>2</td><td style="text-align: center;">内核</td></tr><tr><td>CPU WARN</td><td style="text-align: center;">8</td><td>4</td><td style="text-align: center;">内核</td></tr><tr><td>数据库大小 FAIL</td><td style="text-align: center;">500</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>数据库大小 WARN</td><td style="text-align: center;">200</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>Hangfire 架构 FAIL</td><td style="text-align: center;">10</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>Hangfire 架构 WARN</td><td style="text-align: center;">1</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>WAL 目录 FAIL (Windows)</td><td style="text-align: center;">10</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>WAL 目录 FAIL (Windows)</td><td style="text-align: center;">2</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>WAL 目录 FAIL (Linux)</td><td style="text-align: center;">10</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>Mnesia 目录 WARN</td><td style="text-align: center;">5</td><td>-</td><td style="text-align: center;">GB</td></tr><tr><td>RabbitMQ 磁盘告警 FAIL</td><td style="text-align: center;">10</td><td>-</td><td style="text-align: center;">可用 GB</td></tr><tr><td>队列积压 WARN</td><td style="text-align: center;">10,000</td><td>-</td><td style="text-align: center;">消息</td></tr><tr><td>证书过期 WARN</td><td style="text-align: center;">30</td><td>30</td><td style="text-align: center;">天</td></tr><tr><td>清理保留 WARN</td><td style="text-align: center;">180</td><td>-</td><td style="text-align: center;">天</td></tr><tr><td>死元组率 WARN</td><td style="text-align: center;">20</td><td>-</td><td style="text-align: center;">百分比</td></tr><tr><td>代理心跳过时</td><td style="text-align: center;">15</td><td>-</td><td style="text-align: center;">分钟</td></tr><tr><td>网络驱动程序期限 WARN</td><td style="text-align: center;">3</td><td>-</td><td style="text-align: center;">年</td></tr><tr><td>日志目录大小 WARN</td><td style="text-align: center;">5</td><td>5</td><td style="text-align: center;">GB</td></tr><tr><td>日志目录大小 WARN（严重）</td><td style="text-align: center;">20</td><td>20</td><td style="text-align: center;">GB</td></tr></tbody></table>

### 升级后阈值

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 207px;"><col style="width: 23%;"><col style="width: 421px;"></colgroup><tbody><tr><td style="font-weight: bold;">阈值</td><td style="text-align: center;font-weight: bold;"><strong>值</strong></td><td style="font-weight: bold;">单位</td></tr><tr><td>磁盘空间 FAIL</td><td style="text-align: center;">1</td><td>可用 GB</td></tr><tr><td>磁盘空间 WARN</td><td style="text-align: center;">5</td><td>可用 GB</td></tr><tr><td>证书过期 WARN</td><td style="text-align: center;">30</td><td>天</td></tr><tr><td>队列积压 WARN</td><td style="text-align: center;">10,000</td><td>消息</td></tr><tr><td>日志扫描窗口</td><td style="text-align: center;">60</td><td>分钟</td></tr><tr><td>RabbitMQ 启动重试</td><td style="text-align: center;">6 次尝试 x 5 秒</td><td>共 30 秒</td></tr></tbody></table>

## 支持的最低组件版本

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"></colgroup><tbody><tr><td style="font-weight: bold;">组件</td><td style="text-align: center;font-weight: bold;"><strong>最低版本</strong></td></tr><tr><td>RabbitMQ</td><td style="text-align: center;">3.10.10 及更高版本</td></tr><tr><td>代理版本</td><td style="text-align: center;">2023.1.0 及更高版本</td></tr></tbody></table>

### 自动化和 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`

\`\`\`

### 所需网络端口

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 136px;"><col style="width: 23%;"><col style="width: 421px;"></colgroup><tbody><tr><td><b>端口</b></td><td style="text-align: center;"><strong>服务</strong></td><td><b>方向</b></td></tr><tr><td>80</td><td style="text-align: center;">RMT Web UI (HTTP)</td><td>入站</td></tr><tr><td>443</td><td style="text-align: center;">RMT Web UI (HTTPS)</td><td>入站</td></tr><tr><td>5672</td><td style="text-align: center;">RabbitMQ AMQP</td><td>RMT Server 上的入站</td></tr><tr><td>5671</td><td style="text-align: center;">基于 TLS 的 RabbitMQ AMQP</td><td>RMT Server 上的入站</td></tr><tr><td>15672</td><td style="text-align: center;">RabbitMQ 管理 UI</td><td>本地</td></tr><tr><td>25672</td><td style="text-align: center;">RabbitMQ 节点间</td><td>本地</td></tr><tr><td>5555</td><td style="text-align: center;">内部 PostgreSQL</td><td>本地</td></tr></tbody></table>