Scripts de contrôle d’intégrité de la mise à niveau de RMT
Depuis la version 2025.3.6, le programme d’installation de RMT contient un script de contrôle d’intégrité post et pré-mise à niveau pour valider votre environnement Tableau Resource Monitoring Tool (RMT) avant et après la mise à niveau. Ces scripts identifient les problèmes préexistants dans votre environnement, comme une mauvaise configuration, une déviation des autorisations, un manque d’espace disque, des certificats expirés ou des pannes de service présents avant la mise à niveau et susceptibles de la faire échouer.
Les scripts de contrôle d’intégrité pré et post-mise à niveau peuvent identifier les problèmes suivants :
Préparation de la base de données et du disque : détecte si une base de données volumineuse ou un nombre excessif de fichiers WAL entraînera le blocage de la migration ou l’épuisement de l’espace disque.
Intégrité des autorisations et de la sécurité : identifie si le propriétaire des fichiers a changé ou si des certificats SSL ont expiré, empêchant ainsi le redémarrage des services ou la reconnexion des agents.
Validation des dépendances : vérifie que les composants Windows requis, tels que Visual C++ 2022 Redistributable et OpenSSL 3.x, sont présents avant l’installation de PostgreSQL 15.
Sécurité de la logique de version : empêche les erreurs de « rétrogradation factice » causées par des régressions vers les métadonnées de version.
Script de pré-mise à niveau
Le script de pré-mise à niveau s’exécute automatiquement lorsque vous démarrez une mise à niveau. Il examine l’hôte de votre serveur RMT ou agent lorsque l’installation actuelle est toujours intacte et génère un rapport avec les mentions PASS / FAIL / WARN.
Pour Linux, le contrôle pré-mise à niveau s’exécute automatiquement dans le cadre de :
sudo bash upgrade-rmt-master ...
sudo bash upgrade-rmt-agent ...
Pour ignorer le contrôle automatique (non recommandé) :
sudo bash upgrade-rmt-master --skip-pre-upgrade-check ...
Pour Windows, le programme d’installation exécute automatiquement le contrôle pré-mise à niveau. Pendant l’installation, vous serez également invité à ignorer la mise à niveau ou non. Toutefois, cette option n’est pas recommandée.
Contrôle pré-mise à niveau manuel
Vous pouvez exécuter le script manuellement pour prévisualiser les problèmes potentiels. Pour l’exécuter manuellement, suivez les étapes ci-dessous selon votre système d’exploitation :
Pour Linux :
Exécutez les commandes en tant qu’utilisateur racine. Pour inclure les contrôles de base de données, utilisez la commande export pour transmettre votre mot de passe en toute sécurité.
sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh
Pour exécuter le script avec les contrôles PostgreSQL activés, utilisez la commande suivante :
export RMT_DB_PASSWORD="<tabrmtdb-password>"
sudo -E bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh
Pour exécuter le script avec un composant et un chemin de sortie spécifiques, utilisez la commande suivante :
sudo bash rmt-pre-upgrade-check.sh --component master --output /tmp/rmt-report.txt
Pour Windows :
Les fichiers de pré-mise à niveau pour RMT Server sont installés par défaut à l’emplacement suivant :
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1
Les fichiers de pré-mise à niveau de l’agent sont installés par défaut à l’emplacement suivant :
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1
Pour exécuter le script manuellement, lancez PowerShell en tant qu’administrateur et exécutez :
cd "C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade"
.\rmt-pre-upgrade-check.ps1
Pour exécuter le script avec les contrôles PostgreSQL activés, utilisez la commande suivante :
$env:RMT_DB_PASSWORD = "<tabrmtdb-password>"
.\rmt-pre-upgrade-check.ps1
Pour exécuter le script avec un composant et un chemin de sortie spécifiques, utilisez la commande suivante :
.\rmt-pre-upgrade-check.ps1 -Component master -OutputPath C:\temp\rmt-report.txt
Options supplémentaires
Utilisez les options suivantes pour personnaliser le contrôle pré-mise à niveau :
-Component
Spécifiez un RMT Server ou un agent. Le script le détectera automatiquement s’il est omis
--db-password / -DbPassword
Mot de passe administrateur de la base de données RMT interne. Requis pour les contrôles PostgreSQL.
--output / -OutputPath
Indiquez où enregistrer le rapport. Par défaut, le rapport est enregistré dans /tmp/ (Linux) or C:\temp\ (Windows).
--target-version / -TargetVersion
La version du RMT que vous prévoyez d’installer; elle active des contrôles spécifiques à cette version.
--quiet / -Quiet
Filtre la sortie pour n’afficher que les résultats FAIL et WARN.
--verbose / -Verbose
La sortie affiche des données techniques détaillées pour chaque contrôle effectué.
Résultats du script et actions requises
Le tableau suivant décrit le résultat du script et l’action :
| Résultat | État | Action |
| PASS | CODE DE SORTIE 0 | Aucun problème n’a été détecté. La mise à niveau se poursuit. |
| WARN | CODE DE SORTIE 1 | La mise à niveau se poursuit, mais vous devez examiner le rapport à la recherche de risques non critiques. |
| FAIL | CODE DE SORTIE 2 | Mise à niveau annulée. Vous devez résoudre ces problèmes avant de réexécuter la mise à niveau. |
Scripts de post-mise à niveau
Les scripts de contrôle d’intégrité après la mise à niveau s’exécutent automatiquement à la fin de chaque installation et mise à niveau du RMT. Ils vérifient que tous les services ont démarré correctement, que l’infrastructure est intègre et que la configuration est intacte. Le contrôle post-mise à niveau ne bloque pas le programme d’installation. Toutes les défaillances identifiées sont consignées dans le rapport final.
Contrôle post-mise à niveau manuel
Pour l’exécuter manuellement, suivez les étapes ci-dessous selon votre système d’exploitation :
Pour Linux :
Exécutez les commandes suivantes en tant qu’utilisateur racine ou avec des privilèges sudo :
Pour RMT Server :
sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-post-upgrade-check --component master --mode upgrade
Pour l’agent :
sudo bash /opt/tableau/tabrmt/agent/install-scripts/rmt-post-upgrade-check --component agent --mode upgrade
Pour Windows :
Les fichiers de post-mise à niveau pour RMT Server sont installés par défaut à l’emplacement suivant :
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\post-upgrade\rmt-post-upgrade-check.ps1
Les fichiers de post-mise à niveau de l’agent sont installés par défaut à l’emplacement suivant :
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\post-upgrade\rmt-post-upgrade-check.ps1
Pour exécuter les scripts manuellement, ouvrez PowerShell en tant qu’administrateur et accédez au répertoire d’installation de RMT avant d’exécuter les commandes :
Pour RMT Server :
.\rmt-post-upgrade-check.ps1 -Component master -Mode upgrade
Pour l’agent :
.\rmt-post-upgrade-check.ps1 -Component agent -Mode upgrade
Options supplémentaires
Vous pouvez utiliser les options suivantes pour personnaliser le script :
--component / -Component
Spécifiez un RMT Server ou un agent. Le script tentera de le détecter automatiquement, s’il est omis.
--db-password / -DbPassword
Mot de passe de l’administrateur de la base de données RMT interne. Ceci est requis pour activer les contrôles PostgreSQL.
--output / -OutputPath
Chemin d’accès où le fichier de rapport sera enregistré. Par défaut : /tmp/ (Linux) ou C:\temp\ (Windows).
--target-version / -TargetVersion
La version spécifique de RMT vers laquelle vous effectuez la mise à niveau, utilisée pour les contrôles propres à cette version.
--quiet / -Quiet
Limite la sortie pour n’afficher que les résultats FAIL et WARN.
--verbose / -VerboseOutput
Fournit des résultats techniques détaillés pour chaque contrôle effectué.
Remarque : Nous vous recommandons de définir RMT_DB_PASSWORD comme variable d’environnement au lieu de la transmettre sur la ligne de commande, car les arguments de ligne de commande sont visibles dans la liste des processus.
Résultats du script et actions requises
Le tableau suivant décrit le résultat du script et l’action :
| Résultat | État | Action |
| PASS | CODE DE SORTIE 0 | Le système est intègre. Aucune action n’est requise. |
| WARN | CODE DE SORTIE 1 | Passez en revue les avertissements; la plupart se résolvent d’eux-mêmes (comme un petit retard au démarrage de RabbitMQ). |
| FAIL | CODE DE SORTIE 2 | Un ou plusieurs contrôles critiques ont échoué : veuillez enquêter et corriger le problème. |
Rapports
Vous trouverez les rapports de pré-mise à niveau ici :
Linux :
/tmp/rmt-precheck-<timestamp>.txtWindows (manuel) :
C:\temp\rmt-precheck-<component>-<timestamp>.txt
Vous trouverez les rapports de post-mise à niveau ici :
Linux :
<log-dir>/rmt-postcheck-report.txtWindows (manuel) :
C:\temp\rmt-postcheck-<component>-<timestamp>.txtWindows (via le programme d’installation) : lorsque le programme d’installation exécute le contrôle, il utilise des noms de fichiers fixes :
C:\temp\rmt-postcheck-master-report.txtC:\temp\rmt-postcheck-agent-report.txt
Pour plus d’informations sur les contrôles pré et post-mise à niveau dans le rapport, consultez la section Référence de la mise à niveau.
Exemple de rapport
Voici un exemple de rapport de contrôle d’intégrité pré-mise à niveau :
==================================================================
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
