---
schema_version: "1"
id: 7586c0831faa12448714912b543abe1ca4191ce71a890b3f4748eb53751b98f2
title: RMT Upgrade Health Check Scripts
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/server/rmt-admin-upgrade-health-scripts.md
canonical_url: https://help.tableau.com/current/server/en-us/rmt-admin-upgrade-health-scripts.htm
source_site: help.tableau.com
content_type: documentation
content_hash: bef88edc33f0446ee73d0fc6f9e42dfa9143df0ed652a029384d83aac2af41a6
description: Use the RMT pre-upgrade and post-upgrade health check scripts.
---
[Skip to main content](#main-content)

# RMT Upgrade Health Check Scripts

Starting with the 2025.3.6 release, the RMT installer includes a pre-upgrade and a post-upgrade health check script to validate your Tableau Resource Monitoring Tool (RMT) environment before and after upgrading. These scripts identify pre-existing issues in your environment like misconfiguration, permission drift, disk space shortages, expired certificates, or service failures that were present before and can cause any upgrade failure.

The pre-upgrade and post-upgrade health check scripts can identify the following issues:

- **Database and Disk Readiness**: Detects if a large database or excessive WAL files will cause the migration to hang or exhaust disk space.
- **Permission and Security Integrity**: Identifies shifted file ownership or expired SSL certificates that would otherwise block services from restarting or agents from reconnecting.
- **Dependency Validation**: Ensures required Windows components, like the Visual C++ 2022 Redistributable and OpenSSL 3.x, are present before PostgreSQL 15 is installed.
- **Version Logic Safety**: Prevents "false downgrade" errors caused by version metadata regressions.

## Pre-upgrade script

The pre-upgrade script runs automatically when you start an upgrade. It inspects your RMT Server or Agent host while the existing installation is still intact and generates a PASS / FAIL / WARN report.

For **Linux**, the pre-upgrade check runs automatically as part of:

sudo bash upgrade-rmt-master ...

sudo bash upgrade-rmt-agent ...

To skip the automatic check (not recommended):

sudo bash upgrade-rmt-master --skip-pre-upgrade-check ...

For **Windows**, the installer runs the pre-upgrade check automatically. During installation, you are also prompted with the option to skip the upgrade. However, that is not recommended.

### Manual pre-upgrade check

You can run the script manually to preview any potential issues. To run it manually, use the following steps based on your operating system:

**For Linux:**

Run the commands as a root user. To include database checks, use the export command to securely pass your password.

sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh

To run with PostgreSQL checks enabled, use the following command:

export RMT\_DB\_PASSWORD="<tabrmtdb-password>"

sudo -E bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh

To run with a specific component and output path, use the following command:

sudo bash rmt-pre-upgrade-check.sh --component master --output /tmp/rmt-report.txt

**For Windows:**

The pre-upgrade files for RMT Server are installed by default in the following location:

`C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1`

The pre-upgrade files for Agent are installed by default in the following location:

`C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1`

To run the script manually, launch PowerShell as Administrator and run:

`cd "C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade"`

.`\rmt-pre-upgrade-check.ps1`

To run with PostgreSQL checks enabled, use the following command:

$env:RMT\_DB\_PASSWORD = "<tabrmtdb-password>"

.\\rmt-pre-upgrade-check.ps1

To run with a specific component and output path, use the following command:

.\\rmt-pre-upgrade-check.ps1 -Component master -OutputPath C:\\temp\\rmt-report.txt

### Additional options

Use the following options to customize the pre-upgrade check:

`-Component`

Specify RMT server or agent. The script auto-detects this if omitted

`--db-password / -DbPassword`

The internal RMT database admin password. Required for PostgreSQL checks.

`--output / -OutputPath`

Specify where to save the report. By default, it is saved to `/tmp/ (Linux) or C:\temp\ (Windows).`

`--target-version / -TargetVersion`

The RMT version you plan to install; enables version-specific checks.

`--quiet / -Quiet`

Filters output to show only FAIL and WARN results.

`--verbose / -Verbose`

Output displays detailed technical data for every check performed.

### Script results and required actions

The following table explains the script result and the action:

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 138px;"> <col style="width: 23%;"> <col style="width: 21%;"></colgroup><tbody><tr><td><b>Result</b></td><td style="text-align: center;"><strong>Status</strong></td><td style="text-align: center;"><b>Action</b></td></tr><tr><td style="font-weight: bold;">PASS</td><td style="text-align: center;">EXIT CODE 0</td><td style="text-align: center;">No issues found. The upgrade proceeds.</td></tr><tr><td style="font-weight: bold;">WARN</td><td style="text-align: center;">EXIT CODE 1</td><td style="text-align: center;">The upgrade proceeds, but you must review the report for non-critical risks.</td></tr><tr><td style="font-weight: bold;">FAIL</td><td style="text-align: center;">EXIT CODE 2</td><td style="text-align: center;">Upgrade Aborted. You must resolve these issues before re-running the upgrade.</td></tr></tbody></table>

## Post-upgrade script

The post-upgrade health check scripts run automatically at the end of every RMT installation and upgrade. It verifies that all services started correctly, infrastructure is healthy, and configuration is intact. The post-upgrade check does not block the installer. All identified failures are recorded in the final report.

### Manual post-upgrade check

To run it manually, use the following steps based on your operating system:

**For Linux:**

Run the following commands as a root user or with `sudo` privileges:

- For the RMT Server:

sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-post-upgrade-check --component master --mode upgrade

- For Agent:

sudo bash /opt/tableau/tabrmt/agent/install-scripts/rmt-post-upgrade-check --component agent --mode upgrade

**For Windows:**

The post-upgrade files for RMT Server are installed by default in the following location:

`C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\post-upgrade\rmt-post-upgrade-check.ps1`

The post-upgrade files for Agent are installed by default in the following location:

`C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\post-upgrade\rmt-post-upgrade-check.ps1`

To run the scripts manually, open PowerShell as an Administrator and navigate to your RMT installation directory before running the commands:

- For RMT server:

.\\rmt-post-upgrade-check.ps1 -Component master -Mode upgrade

- For Agent:

.\\rmt-post-upgrade-check.ps1 -Component agent -Mode upgrade

### Additional options

You can use the following options to customize the script:

`--component / -Component`

Specify RMT server or agent. The script will try to auto-detect this, if omitted.

`--db-password / -DbPassword`

The password for the internal RMT database admin. This is required to enable PostgreSQL checks.

`--output / -OutputPath`

The path where the report file will be saved. Defaults to `/tmp/ (Linux)` or `C:\temp\ (Windows)`.

`--target-version / -TargetVersion`

The specific RMT version you are upgrading to, used for version-specific checks.

`--quiet / -Quiet`

Reduces output to show only **FAIL** and **WARN** results.

`--verbose / -VerboseOutput`

Provides detailed technical output for every check performed.

Note: We recommend setting RMT\_DB\_PASSWORD as an environment variable rather than passing it on the command line, as command-line arguments are visible in the process list.

### Script results and required actions

The following table explains the script result and the action:

<table style="width: 100%;margin-left: 0;margin-right: auto;" class="simple-table"><colgroup><col style="width: 211px;"> <col style="width: 23%;"> <col style="width: 21%;"></colgroup><tbody><tr><td><b>Result</b></td><td style="text-align: center;"><strong>Status</strong></td><td style="text-align: center;"><b>Action</b></td></tr><tr><td style="font-weight: bold;">PASS</td><td style="text-align: center;">EXIT CODE 0</td><td style="text-align: center;">System is healthy. No action required.</td></tr><tr><td style="font-weight: bold;">WARN</td><td style="text-align: center;">EXIT CODE 1</td><td style="text-align: center;">Review the warnings; most resolve on their own (e.g., transient RabbitMQ startup lag).</td></tr><tr><td style="font-weight: bold;">FAIL</td><td style="text-align: center;">EXIT CODE 2</td><td style="text-align: center;">One or more critical checks failed — investigate and re-mediate.</td></tr></tbody></table>

## Reports

You can find the pre-upgrade reports here:

- Linux: `/tmp/rmt-precheck-<timestamp>.txt`
- Windows (Manual): `C:\temp\rmt-precheck-<component>-<timestamp>.txt`

You can find the post-upgrade reports here:

- Linux: `<log-dir>/rmt-postcheck-report.txt`
- Windows (Manual): `C:\temp\rmt-postcheck-<component>-<timestamp>.txt`
- Windows (via Installer): When the installer runs the check, it uses fixed file names:
    
    - `C:\temp\rmt-postcheck-master-report.txt`
    - `C:\temp\rmt-postcheck-agent-report.txt`
    
    For information about pre-upgrade and post-upgrade checks in the report, see the [Upgrade Reference](https://help.tableau.com/current/server/en-us/rmt-admin-upgrade-reference.htm) section.

### Sample report

Following is a sample pre-upgrade health check report:

\==================================================================  
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