RMT 升級:技術參考

本區段是在升級過程中檢查的運作閾值、系統路徑和網路連接埠的技術參考指南。使用這些資料表可快速診斷驗證失敗,並使環境與所需的 RMT 基準保持一致。

附註:為了符合本公司平等的價值觀,我們已將 RMT 主伺服器更新為 RMT 伺服器。在某些情況下,RMT 伺服器安裝路徑和命令可能會使用術語「主機」而不是「伺服器」。因此,可以繼續在 CLI 命令和選項、安裝資料夾、設定檔和其他執行個體中看到這些術語。有關詳情,請參閱關於 Tableau 說明(連結在新視窗開啟)

升級前健康情況檢查

升級前健康情況檢查會在現有安裝仍然完好無損時檢查 RMT 伺服器或代理程式主機,例如服務正在執行、資料庫可存取,並產生詳細的 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 伺服器 < 20 GB 或代理程式 < 5 GB 可用。WARN RMT 伺服器 < 50 GB 或代理程式 < 10 GB 可用
#2a磁碟類型Linux、WindowsINFO 回報磁碟機是 SSD 還是 HDD
#3

RAM

Linux、WindowsWARN RMT 伺服器 < 8 GB(最小)或代理程式 < 4 Gb(最小)
#4CPU 核心Linux、WindowsWARN RMT 伺服器 < 8 GB(最小)或代理程式 < 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:若已過期 90 天,則 < 10 minutes (very recent reboot) or > 為附註(擱置修補檔)
#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 檔案需要群組可寫入g+w
#15SSL 憑證目錄tabrmt-master:rmtopenssl2775
#15a主目錄元件使用者770
#15b/etc/profile.d/tabrmt-*.shroot預設
#15cConfig dir setgid 位元--需要 2xxx
#16environment.bash元件使用者group-writable

嚴重性:對僅資料目錄集(#13 和 #15)的所有權為 FAIL。所有其他 Linux 目錄檢查(#11、#12、#14、#14a、#15a–c、#16)會在所有權/模式不相符時為 WARN,因為安裝程式的後續安裝會在升級期間重新套用所有權。如果權限模式錯誤但擁有權正確,則為 WARN

Windows 的目錄所有權和權限

檢查 名稱嚴重性
#11設定目錄 ACL如果服務使用者缺乏 FullControl,則為 FAIL
#12記錄目錄 ACL如果服務使用者缺少修改,則為 FAIL
#13資料目錄 ACL(RMT 伺服器)如果服務使用者缺乏對 PG/RMQ 資料目錄的 FullControl,則為 FAIL
#14必要條件目錄 ACL(RMT 伺服器)如果缺少 ReadAndExecute,則為 WARN(諮詢 - 每次升級都會重新安裝必要的 MSI,其安裝後動作會重新套用 ACL)
#15SSL 憑證方向 ACL(RMT Server)如果服務使用者缺乏 FullControl,則為 FAIL
#16a服務使用者身分PASS(資訊性 - 顯示以哪個使用者身分執行服務)
#16bSeServiceLogonRight 權限如果找到將顯示 INFO;如果找不到則為 WARN 或 secedit 失敗
#16cRMT 目錄上的服務使用者 ACL如果服務使用者缺乏必要的權限則為 FAIL

 

資料庫 (PostgreSQL)

所有 PostgreSQL 檢查都只能在 RMT 伺服器上執行。

檢查 ID名稱 需要 --db-password 選項失敗 (FAIL) /警告 (WARN) 條件
#17PG 服務FAIL 本機服務已停止且已停用
#18連接埠 5555 偵聽WARN(安全性群組/VPC / RDS 提示)不接聽
#19DB ConnectionWARN 無法連線到內部資料庫(SSL、密碼或網路問題)

 

訊息傳遞 (RabbitMQ)

訊息 (RabbitMQ) 檢查僅在 RMT 伺服器上執行。

檢查 ID名稱 失敗 (FAIL) /警告 (WARN) 條件
#22RMQ 服務FAIL 本機服務已停止且已停用
#24佇列待辦項目WARN 任何具有> 10,000 則訊息的佇列
#25RabbitMQ 使用者如果預設 guest 使用者仍然存在,則為 WARN
#26活動中的連線僅為 INFO。報告活動連線計數
#27Erlang cookie 可存取如果缺少 cookie 檔案、權限錯誤則為 WARN(應為模式 400 或 600)
#27aERLANG_HOME 集如果未設定 `ERLANG_HOME` 或路徑不存在,則為 WARN(僅限 Windows)。
#27bSSL 有效性FAIL 憑證已過期
#27c磁碟通知FAIL RMQ分割區可用空間 < 10GB(升級將會卡住)
#45已填入憑證目錄如果憑證目錄存在但為空或缺少預期的憑證檔案(伺服器憑證、金鑰、CA 憑證),則為 WARN

網路和設定

檢查 ID名稱 失敗 (FAIL) /警告 (WARN) 條件
#28a/b代理程式-主機通訊WARN 客服專員無法撥打 5671、5672、80 或 443 聯絡主機
#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。報告主要/代理程式節點類型和(帶資料庫)作用中代理程式計數
#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 伺服器如果是外部,則為 SKIP。所有重試用盡後 FAIL
#8a佇列取用者RMT ServerWARN 存在待辦項目,但沒有活動中的取用者(主要工作者已中斷連線)
#9RMQ 通知RMT ServerFAIL 偵測到使用中記憶體或磁碟資源警示
#10RabbitMQ SSL 憑證RMT 伺服器如果憑證過期,則為 FAIL。如果憑證在 30 天內過期,則為 WARN
#11FIPS 配對RMT Server, AgentFAIL 作業系統 FIPS 狀態不符合 isFIPSEnabled 設定
#12Web 伺服器 HTTP 回應RMT 伺服器使 HTTP GET 為 `https://localhost:<port>/authentication/login`。PASS 200 或 302。連線拒絕/逾時為 FAIL。其他錯誤為 WARN
#13HTTPS 憑證有效性RMT ServerFAIL Web 伺服器 TLS 憑證已過期
#14a-d磁碟空間RMT Server, AgentFAIL < 1 GB 可用。WARN:< 5 GB 可用
#15最近的記錄錯誤RMT Server, AgentFAIL 記錄中的致命錯誤。WARN:嚴重錯誤
#16RMT 狀態RMT Server, AgentFAIL rmtadmin 狀態傳回失敗模式
#17Agent 記錄歷史記錄Agent檢查代理程式資料目錄中的記錄追蹤檔案 (.history, .json)。如果檔案不可讀或損毀,則為 WARN
#18a-f存貨版本RMT Server, Agent有關 RMT 版本、PostgreSQL 版本、RabbitMQ 版本、Erlang/OTP 版本、.NET 執行階段 (Windows) / 作業系統 (Linux)、作業系統版本 (Windows) / 核心 (Linux) 的 INFO

健康情況檢查結束代碼

使用以下結束代碼來解譯升級前和升級後健康情況檢查指令碼的結果。

升級前指令碼

結束代碼狀態 升級行為
0READY TO UPGRADE升級收益
1UPGRADE WITH CAUTION升級進行;檢閱警告
2請勿升級升級已取消
3指令碼錯誤檢查執行環境

升級後指令碼

結束代碼狀態
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL FAILURES

InstallerContext 嚴重性變更

在 Windows MSI 自動升級期間以 執行 -InstallerContext 時,以下檢查的行為與手動預設值不同。預設(非 InstallerContext)行為為*已經*針對「已停止但未停用」/「連接埠未偵聽」狀態的「WARN」;「FAIL」保留用於 `停止+停用`。在 `-InstallerContext` 下,即使是 `Disabled` 分支也會報告為「WARN」,因此進行中的安裝程式驅動的升級永遠不會被安裝程式即將修復的暫時性狀態否決。

檢查 名稱 預設值InstallerContext
#17PG 服務如果已停止則為 WARN,如果已停止且已停用則為 FAIL,如果全部停止則為 INFOWARN
#18PG 連接埠如果不偵聽則為 WARN,如果所有服務停止則為 INFOWARN
#22RabbitMQ 服務如果已停止則為 WARN,如果已停止+已停用則為 FAIL,如果全部停止則為 INFOWARN
#23Port 5672 (AMQP)如果不偵聽則為 WARN,如果所有服務停止則為 INFOWARN
#38a擱淺 RMT 處理序(請參閱檢查說明)SKIP(安裝程式管理處理序生命週期)

升級前閾值

閾值 RMT Server Agent單位
磁碟空間 FAIL205GB 可用
磁碟空間 WARN5010GB 可用
臨時目錄 FAIL55GB 可用
臨時目錄 WARN1010GB 可用
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

升級後閾值

閾值單位
磁碟空間 FAIL1GB 可用
磁碟空間 WARN5GB 可用
憑證過期 WARN30
佇列待辦專案 WARN10,000訊息
記錄掃描視窗60分鐘
RabbitMQ 啟動重試6 次嘗試 x 5 秒總共 30 秒

 

支援的最低元件版本

元件最低版本
RabbitMQ>= 3.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 伺服器上的傳入
5671基於 TLS 的 RabbitMQ AMQPRMT 伺服器上的傳入
15672RabbitMQ 管理 UI本機
25672RabbitMQ 節點之間本機
5555內部 PostgreSQL本機
感謝您的意見反應!已成功提交您的意見回饋。謝謝!