RMT 升級健康情況檢查指令碼
從 2025.3.6 版本開始,RMT 安裝程式包括升級前和升級後健康情況檢查指令碼,用於在升級前後驗證 Tableau Resource Monitoring Tool (RMT) 環境。這些指令碼可識別環境中預先存在的問題,例如設定錯誤、權限漂移、磁碟空間不足、憑證過期或之前存在的服務故障,並可能導致任何升級失敗。
升級前和升級後健康情況檢查指令碼可以識別以下問題:
資料庫和磁碟就緒情況:偵測大型資料庫或過多的 WAL 檔案是否會導致移轉擱置或耗盡磁碟空間。
權限和安全完整性:識別轉移的檔案所有權或過期的 SSL 憑證,否則這些憑證會阻止服務重新啟動或代理程式重新連線。
相依性驗證:確保在安裝 PostgreSQL 15 之前存在所需的 Windows 元件,例如 Visual C++ 2022 Redistributable 和 OpenSSL 3.x。
版本邏輯安全性:防止版本中繼資料回歸引起的「錯誤降級」錯誤。
升級前指令碼
開始升級時,升級前指令碼會自動執行。它會在現有安裝仍然完好無損時檢查您的 RMT 伺服器或代理程式主機,並產生 PASS / FAIL / WARN 報告。
對於 Linux,升級前檢查會自動執行:
sudo bash upgrade-rmt-master ...
sudo bash upgrade-rmt-agent ...
要跳過自動檢查(不建議):
sudo bash upgrade-rmt-master --skip-pre-upgrade-check ...
對於 Windows,安裝程式會自動執行升級前檢查。在安裝過程中,系統也會提示您選擇跳過升級。但是,不建議這樣做。
手動升級前檢查
您可以手動執行指令碼來預覽任何潛在問題。若要手動執行,請根據作業系統使用以下步驟:
如果是 Linux:
以根使用者身分執行命令。若要包括資料庫檢查,請使用匯出命令安全地傳遞密碼。
sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh
若要在啟用 PostgreSQL 檢查的情況下執行,請使用以下命令:
export RMT_DB_PASSWORD="<tabrmtdb-password>"
sudo -E bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh
若要使用特定元件和輸出路徑執行,請使用以下命令:
sudo bash rmt-pre-upgrade-check.sh --component master --output /tmp/rmt-report.txt
如果是 Windows:
預設情況下,RMT 伺服器的升級前檔案安裝在以下位置:
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1
預設情況下,代理程式的升級前檔案安裝在以下位置:
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1
若要手動執行指令碼,請以管理員身分啟動 PowerShell,然後執行:
cd "C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade"
.\rmt-pre-upgrade-check.ps1
若要在啟用 PostgreSQL 檢查的情況下執行,請使用以下命令:
$env:RMT_DB_PASSWORD = "<tabrmtdb-password>"
.\rmt-pre-upgrade-check.ps1
若要使用特定元件和輸出路徑執行,請使用以下命令:
.\rmt-pre-upgrade-check.ps1 -Component master -OutputPath C:\temp\rmt-report.txt
其他選項
使用以下選項自訂升級前檢查:
-Component
指定 RMT 伺服器或代理程式。若省略,指令碼會自動偵測此情況
--db-password / -DbPassword
內部 RMT 資料庫管理員密碼。PostgreSQL 檢查所需。
--output / -OutputPath
指定儲存報告的位置。預設情況下,其會儲存至 /tmp/ (Linux) or C:\temp\ (Windows).
--target-version / -TargetVersion
計劃安裝的 RMT 版本啟用;特定於版本的檢查。
--quiet / -Quiet
篩選輸出以僅顯示 FAIL 和 WARN 的結果。
--verbose / -Verbose
輸出顯示執行每次檢查的詳細技術資料。
指令碼結果和所需動作
下表說明指令碼結果和動作:
| 結果 | 狀態 | 動作 |
| PASS | 結束代碼 0 | 未發現任何問題。升級將繼續進行。 |
| WARN | 結束代碼 1 | 升級將繼續進行,但必須檢閱報告中是否存在非嚴重風險。 |
| FAIL | 結束代碼 2 | 升級已中止。必須先解決這些問題,才能重新執行升級。 |
升級後指令碼
升級後健康情況檢查指令碼會在每次 RMT 安裝和升級結束時自動執行。它驗證所有服務是否正確啟動、基礎結構是否健康且設定是否完好無損。升級後檢查不會封鎖安裝程式。所有已識別的故障都會記錄在最終報告中。
手動升級後檢查
若要手動執行,請根據作業系統使用以下步驟:
如果是 Linux:
以根使用者身分或具有權限執行 sudo 以下命令:
對於 RMT 伺服器:
sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-post-upgrade-check --component master --mode upgrade
對於代理程式:
sudo bash /opt/tableau/tabrmt/agent/install-scripts/rmt-post-upgrade-check --component agent --mode upgrade
如果是 Windows:
預設情況下,RMT 伺服器的升級後檔案安裝在以下位置:
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\post-upgrade\rmt-post-upgrade-check.ps1
預設情況下,代理程式的升級後檔案安裝在以下位置:
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\post-upgrade\rmt-post-upgrade-check.ps1
若要手動執行指令碼,請以管理員身分開啟 PowerShell,並在執行命令前巡覽至 RMT 安裝目錄:
對於 RMT 伺服器:
.\rmt-post-upgrade-check.ps1 -Component master -Mode upgrade
對於代理程式:
.\rmt-post-upgrade-check.ps1 -Component agent -Mode upgrade
其他選項
可以使用以下選項自訂指令碼:
--component / -Component
指定 RMT 伺服器或代理程式。如果省略,指令碼將嘗試自動偵測這一點。
--db-password / -DbPassword
內部 RMT 資料庫管理員的密碼。這是啟用 PostgreSQL 檢查的必要步驟。
--output / -OutputPath
報告檔案將儲存的路徑。預設為 /tmp/ (Linux) 或 C:\temp\ (Windows)。
--target-version / -TargetVersion
要升級到的特定 RMT 版本,用於特定於版本的檢查。
--quiet / -Quiet
減少輸出以僅顯示FAIL和WARN的結果。
--verbose / -VerboseOutput
為執行的每項檢查提供詳細的技術輸出。
附註:建議將 RMT_DB_PASSWORD 設定為環境變數,而不是在命令列上傳遞,因為命令列引數會在處理序清單中可見。
指令碼結果和所需動作
下表說明指令碼結果和動作:
| 結果 | 狀態 | 動作 |
| PASS | 結束代碼 0 | 系統正常。沒有需要採取的動作。 |
| WARN | 結束代碼 1 | 查看警告;大多數會自行解決(例如,暫時的 RabbitMQ 啟動延遲)。 |
| FAIL | 結束代碼 2 | 一項或多項關鍵檢查失敗 - 調查並重新修復。 |
報告
可以在這裡找到升級前報告:
Linux:
/tmp/rmt-precheck-<timestamp>.txtWindows(手動):
C:\temp\rmt-precheck-<component>-<timestamp>.txt
可以在這裡找到升級後的報告:
Linux:
<log-dir>/rmt-postcheck-report.txtWindows(手動):
C:\temp\rmt-postcheck-<component>-<timestamp>.txtWindows(透過安裝程式):安裝程式執行檢查時,它會使用固定檔案名稱:
C:\temp\rmt-postcheck-master-report.txtC:\temp\rmt-postcheck-agent-report.txt
有關報告中升級前和升級後檢查的詳情,請參閱升級參考區段。
範例報告
以下是升級前健康情況檢查報告範例:
==================================================================
RMT Pre-Upgrade Health Check Report
Script Version : 1.0.0
Generated : 2026-04-08 14:30:00
Component : master
Hostname : rmt-master-01.example.com
RMT Version : 2025.1.9
==================================================================
OVERALL STATUS : UPGRADE WITH CAUTION (2 warning(s) -- review before proceeding)
PASS: 44 FAIL: 0 WARN: 2 INFO: 10 SKIP: 3
==================================================================
WARNINGS -- Review Before Upgrading
==================================================================
[WARN] #21d Hangfire schema is 1.2 GB
Check 21g for delete_hash() volatility bug
[WARN] #24 1 queue(s) with >10000 messages (max: 15234)
Resolve backlogs before upgrading
