Script di controllo dell’integrità dell’aggiornamento di RMT

A partire dalla versione 2025.3.6, il programma di installazione di RMT include uno script di controllo dell’integrità pre-aggiornamento e post-aggiornamento per convalidare l’ambiente Tableau Resource Monitoring Tool (RMT) prima e dopo l’aggiornamento. Questi script identificano problemi preesistenti nell’ambiente, come una configurazione errata, la deriva delle autorizzazioni, la carenza di spazio su disco, certificati scaduti o errori di servizi già presenti in precedenza e che possono causare un errore di aggiornamento.

Gli script di controllo di integrità pre-aggiornamento e post-aggiornamento possono identificare i seguenti problemi:

  • Preparazione di database e dischi: gli script rilevano se un database di grandi dimensioni o un numero eccessivo di file WAL causerebbe il blocco della migrazione o esaurirebbe lo spazio su disco.

  • Integrità delle autorizzazioni e della sicurezza: gli script identificano uno spostamento della proprietà dei file o certificati SSL scaduti che altrimenti impedirebbero il riavvio dei servizi o la riconnessione degli agenti.

  • Convalida delle dipendenze: gli script assicurano che i componenti di Windows necessari, come Visual C++ 2022 Redistributable e OpenSSL 3.x, siano presenti prima dell’installazione di PostgreSQL 15.

  • Sicurezza logica della versione: gli script prevengono gli errori di “falso downgrade” causati da regressioni dei metadati della versione.

Script pre-aggiornamento

Lo script pre-aggiornamento viene eseguito automaticamente quando avvii un aggiornamento. Ispeziona RMT Server o l’host agente mentre l’installazione esistente è ancora intatta e genera un report PASS/FAIL/WARN.

Per Linux, il controllo pre-aggiornamento viene eseguito automaticamente con l’esecuzione del seguente comando:

sudo bash upgrade-rmt-master ...
sudo bash upgrade-rmt-agent ...

Per saltare il controllo automatico (non consigliato):

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

Per Windows, il programma di installazione esegue automaticamente il controllo pre-aggiornamento. Durante l’installazione, ti viene inoltre presentata l’opzione di saltare l’aggiornamento. Tuttavia, questo non è consigliato.

Controllo pre-aggiornamento manuale

Puoi eseguire lo script manualmente per visualizzare in anteprima eventuali problemi. Per eseguirlo manualmente, utilizza una delle procedure seguenti a seconda del tuo sistema operativo:

Per Linux:

Esegui i comandi come utente root. Per includere i controlli del database, utilizza il comando export per passare la password in modo sicuro.

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

Per l’esecuzione con i controlli PostgreSQL abilitati, utilizza il seguente comando:

export RMT_DB_PASSWORD="<tabrmtdb-password>"
sudo -E bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh

Per l’esecuzione con un componente e un percorso di output specifici, utilizza il comando seguente:

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

Per Windows:

Per impostazione predefinita, i file di pre-aggiornamento per RMT Server vengono installati nel percorso seguente:

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

Per impostazione predefinita, i file di pre-aggiornamento per l’agente vengono installati nel percorso seguente:

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

Per eseguire lo script manualmente, avvia PowerShell come amministratore ed esegui:

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

.\rmt-pre-upgrade-check.ps1

Per l’esecuzione con i controlli PostgreSQL abilitati, utilizza il seguente comando:

$env:RMT_DB_PASSWORD = "<tabrmtdb-password>"
.\rmt-pre-upgrade-check.ps1

Per l’esecuzione con un componente e un percorso di output specifici, utilizza il comando seguente:

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

Opzioni aggiuntive

Utilizza le seguenti opzioni per personalizzare il controllo pre-aggiornamento:

-Component

Specifica RMT Server o l’agente. Se omesso, lo script lo rileva automaticamente

--db-password / -DbPassword

Password dell’amministratore del database RMT interno. Necessaria per i controlli PostgreSQL.

--output / -OutputPath

Specifica dove salvare il report. Per impostazione predefinita viene salvato in /tmp/ (Linux) or C:\temp\ (Windows).

--target-version / -TargetVersion

La versione di RMT che intendi installare. Abilita i controlli specifici della versione.

--quiet / -Quiet

Filtra l’output per mostrare solo i risultati FAIL e WARN.

--verbose / -Verbose

L’output visualizza dati tecnici dettagliati per ogni controllo eseguito.

Risultati dello script e azioni richieste

Nella tabella seguente vengono illustrati il risultato e l’azione dello script:

RisultatoStatoAzione
PASSEXIT CODE 0Nessun problema rilevato. L’aggiornamento procede.
WARNEXIT CODE 1L’aggiornamento procede, ma devi esaminare il report perché sono presenti rischi non critici.
FAILEXIT CODE 2Aggiornamento interrotto. Devi risolvere questi problemi prima di eseguire nuovamente l’aggiornamento.

Script post-aggiornamento

Gli script di controllo dello stato di integrità post-aggiornamento vengono eseguiti automaticamente al termine di ogni installazione e aggiornamento di RMT. Lo script verifica che tutti i servizi siano stati avviati correttamente, che l’infrastruttura sia integra e che la configurazione sia intatta. Il controllo post-aggiornamento non blocca il programma di installazione. Tutti gli errori identificati vengono registrati nel report finale.

Controllo manuale post-aggiornamento

Per eseguirlo manualmente, utilizza una delle procedure seguenti a seconda del tuo sistema operativo:

Per Linux:

Esegui i seguenti comandi come utente root o con privilegi sudo:

  • Per RMT Server:

sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-post-upgrade-check --component master --mode upgrade
  • Per l’agente:

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

Per Windows:

I file post-aggiornamento per RMT Server vengono installati per impostazione predefinita nel percorso seguente:

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

Per impostazione predefinita, i file post-aggiornamento per l’agente vengono installati nel percorso seguente:

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

Per eseguire gli script manualmente, apri PowerShell come amministratore e passa alla directory di installazione di RMT prima di eseguire i comandi:

  • Per RMT Server:

.\rmt-post-upgrade-check.ps1 -Component master -Mode upgrade
  • Per l’agente:

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

Opzioni aggiuntive

Per personalizzare lo script puoi utilizzare l’opzione seguente:

--component / -Component

Specifica RMT Server o l’agente. Se omesso, lo script tenterà di rilevarlo automaticamente.

--db-password / -DbPassword

Password per l’amministratore del database RMT interno. Necessaria per abilitare i controlli PostgreSQL.

--output / -OutputPath

Percorso in cui verrà salvato il file di report. Per impostazione predefinita è /tmp/ (Linux) o C:\temp\ (Windows).

--target-version / -TargetVersion

La versione di RMT specifica a cui stai eseguendo l’aggiornamento, utilizzata per i controlli specifici della versione.

--quiet / -Quiet

Riduce l’output per mostrare solo i risultati FAIL e WARN.

--verbose / -VerboseOutput

Fornisce un output tecnico dettagliato per ogni controllo eseguito.

Nota: è consigliabile impostare RMT_DB_PASSWORD come variabile di ambiente anziché passarla dalla riga di comando, poiché gli argomenti della riga di comando sono visibili nell’elenco dei processi.

Risultati dello script e azioni richieste

Nella tabella seguente vengono illustrati il risultato e l’azione dello script:

RisultatoStatoAzione
PASSEXIT CODE 0Il sistema è integro. Nessuna azione richiesta
WARNEXIT CODE 1Esaminare gli avvisi. La maggior parte (ad esempio, un ritardo temporaneo dell’avvio di RabbitMQ).
FAILEXIT CODE 2Uno o più controlli critici non sono stati superati. Esaminali e correggi.

Report

I report pre-aggiornamento sono disponibili qui:

  • Linux: /tmp/rmt-precheck-<timestamp>.txt

  • Windows (manuali): C:\temp\rmt-precheck-<component>-<timestamp>.txt

I report post-aggiornamento sono disponibili qui:

  • Linux: <log-dir>/rmt-postcheck-report.txt

  • Windows (manuali): C:\temp\rmt-postcheck-<component>-<timestamp>.txt

  • Windows (tramite il programma di installazione): quando il programma di installazione esegue il controllo, utilizza nomi file fissi:

    • C:\temp\rmt-postcheck-master-report.txt

    • C:\temp\rmt-postcheck-agent-report.txt

    Per informazioni sui controlli pre-aggiornamento e post-aggiornamento nel report, consulta la sezione Aggiornamento di RMT: informazioni tecniche di riferimento.

Esempio di report

Di seguito è riportato un esempio di report del controllo di integrità pre-aggiornamento:

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

 

 

 

 

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!