Mise à niveau de RMT : référence technique
Cette section est un guide de référence technique pour les seuils opérationnels, les chemins système et les ports réseau vérifiés pendant le processus de mise à niveau. Utilisez ces tableaux pour diagnostiquer rapidement les échecs de validation et aligner votre environnement sur les références de base RMT requises.
Remarque : pour nous aligner sur les valeurs fondamentales de notre entreprise, à savoir l’égalité, nous avons mis à jour le terme « RMT Master » en « RMT Server ». Dans certains cas, il arrive que les chemins d’installation et les commandes du Serveur RMT utilisent le terme « master » (maître) au lieu de « server » (serveur). Il se peut donc que vous continuiez à voir le terme dans les commandes et options de l’interface en ligne de commande, dans les dossiers d’installation, dans les fichiers de configuration et dans d’autres instances. Pour plus d’informations, consultez À propos de l’Aide de Tableau(Le lien s’ouvre dans une nouvelle fenêtre).
Vérifications de l’intégrité avant la mise à niveau
La vérification de l’intégrité avant la mise à niveau inspecte votre Serveur RMT ou l’hôte de votre Agent alors que l’installation existante est encore intacte (les services s’exécutent et la base de données est accessible, par exemple) et génère un rapport PASS / FAIL / WARN détaillé. Plus de 80 vérifications individuelles sont exécutées sur les ressources système, les comptes, les autorisations de fichiers, PostgreSQL, RabbitMQ, la mise en réseau, les fichiers de configuration et les services RMT. Le tableau suivant répertorie les vérifications effectuées avant la mise à niveau. Si un élément renvoie un état FAIL (code de sortie 2), la mise à niveau est annulée.
Système et matériel
| ID de vérification | Nom | Plate-forme | État Échec (FAIL) / Avertissement (WARN) |
| #1 | Système d’exploitation | Linux, Windows | WARN La version du système d’exploitation ne figure pas dans la liste d’autorisations de pré-vérification. La liste prise en charge est 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 | Espace disque | Linux, Windows | FAIL Espace libre Serveur RMT < 20 Go ou Agent < 5 Go. WARN Espace libre Serveur RMT < 50 Go ou Agent < 10 Go |
| #2a | Type de disque | Linux, Windows | INFO Indique s’il s’agit d’un SSD ou d’un disque dur |
| #3 | RAM | Linux, Windows | WARN Serveur RMT < 8 Go (minimum) ou Agent < 4 Go (minimum) |
| #4 | Cœurs de processeur | Linux, Windows | WARN Serveur RMT < 8 Go (minimum) ou Agent < 4 Go (minimum) |
| #4a | Instructions relatives au CPU | Linux, Windows | FAIL (Linux) : sse4_2 ou popcnt manquant. WARN (Windows) : processeur plus ancien détecté. |
| #4b | VC++ Redist | Windows | FAIL Visual Studio 2022 C++ Redistributable manquant. |
| #4c | OpenSSL DLLs | Windows | INFO Vérifie libcrypto-3-x64.dll et libssl-3-x64.dll |
| #5 | Disponibilité du système | Linux, Windows | INFO : remarque si < 10 minutes (redémarrage très récent) ou > 90 jours (correctifs en attente) |
| #6 | Systemd en cours d’exécution | Linux | FAIL systemd n’est pas en cours d’exécution, PASS : en cours d’exécution ou dégradé |
| #7 | Mode FIPS | Linux, Windows | FAIL (Windows) : activé dans le registre, PASS FIPS désactivé. WARN (Linux) Discordance avec config.json. PASS Correspondance du système d’exploitation et de la configuration |
| #7a | Version de PowerShell | Windows | INFO Version de PowerShell |
| #7b | Paramètres régionaux système | Windows | INFO Informations sur les paramètres régionaux du système |
| #7c | Intégrité WMI | Windows | WARN Le référentiel WMI est incohérent |
Comptes et autorisations
| ID de vérification | Nom | Plate-forme | État Échec (FAIL) / Avertissement (WARN) |
| #8 | Compte de service | Linux, Windows | FAIL Compte du service RMT ou service Windows introuvable |
| #9 | Adhésion au groupe | Linux | FAIL Groupes de services requis (p. ex., rmtmasterapp, rmtmasterconfig, etc.) manquants |
| #10 | User Systemd | Linux | FAIL L’utilisateur systemd daemon/linger n’est pas actif |
| #44 | pamtester installé | Linux | WARN s’il n’est pas installé. Pour résoudre ce problème, installez yum install pamtester ou apt install libpam-runtime |
Propriété du répertoire et autorisations pour Linux
| ID de vérification | Répertoire | Expected Owner:Group | Mode attendu |
| #11 | Config dir | tabrmt-master :rmtmasterconfig | 2775 |
| #12 | Log dir | tabrmt-master:rmtmasterlogs | 2775 |
| #13 | Data dir (+ PG/RMQ subdirs) | Adapté aux composants | 2775 |
| #14 | Prerequisites dirs | utilisateur root ou de composant | 755 |
| #14a | fichier rabbitmq-defaults | doit obligatoirement être accessible en écriture par groupe | g+w |
| #15 | SSL cert dir | tabrmt-master:rmtopenssl | 2775 |
| #15a | Répertoire de base | Utilisateur de composant | 770 |
| #15b | /etc/profile.d/tabrmt-*.sh | root | default |
| #15c | Config dir setgid bit | -- | 2xxx requis |
| #16 | environment.bash | Utilisateur de composant | group-writable |
Gravité : FAIL sur la propriété uniquement pour l’ensemble data-dir (#13 et #15). Toutes les autres vérifications de répertoires Linux (#11, #12, #14, #14a, #15a–c, #16) émettent WARN en cas d’incompatibilité de propriété/mode parce que le programme d’installation post-installe réapplique la propriété lors de la mise à niveau. WARN si le mode d’autorisation est incorrect mais que la propriété est correcte.
Propriété du répertoire et autorisations pour Windows
| Vérification | Nom | Gravité |
| #11 | Config dir ACLs | FAIL si l’utilisateur du service ne dispose pas de FullControl |
| #12 | Log dir ACLs | FAIL si l’utilisateur du service ne dispose pas de Modify |
| #13 | Data dir ACLs (serveur RMT) | FAIL si l’utilisateur du service ne dispose pas de FullControl sur les répertoires de données PG/RMQ |
| #14 | Prereqs dir ACLs (serveur RMT) | WARN s’il manque ReadAndExecute (avis – chaque mise à niveau réinstalle les MSI pré-requis et leurs actions post-installation réappliquent les ACLs) |
| #15 | SSL cert dir ACLs (RMT Server) | FAIL si l’utilisateur du service ne dispose pas de FullControl |
| #16a | Identité de l’utilisateur du service | PASS (informatif -- indique sous quel utilisateur le service s’exécute) |
| #16b | SeServiceLogonRight privilege | INFO si trouvé ; WARN si non trouvé ou si secedit échoue |
| #16c | Service user ACLs sur RMT dirs | FAIL si l’utilisateur du service ne dispose pas des droits requis |
Base de données (PostgreSQL)
Toutes les vérifications PostgreSQL s’exécutent uniquement sur le Serveur RMT.
| ID de vérification | Nom | Requiert l’option --db-password | État Échec (FAIL) / Avertissement (WARN) |
| #17 | Service PG | Non | FAIL Service local arrêté ET désactivé |
| #18 | Écoute sur le port 5555 | Non | WARN (indice de groupe de sécurité / VPC / RDS) Pas d’écoute |
| #19 | DB Connection | Oui | WARN Impossible de se connecter à la base de données interne (problème SSL, mot de passe ou réseau) |
Messagerie (RabbitMQ)
Les vérifications de messagerie (RabbitMQ) s’exécutent uniquement sur le Serveur RMT.
| ID de vérification | Nom | État Échec (FAIL) / Avertissement (WARN) |
| #22 | Service RMQ | FAIL Service local arrêté ET désactivé |
| #24 | Retard de file d’attente | WARN Toute file d’attente contenant > 10 000 messages |
| #25 | Utilisateurs RabbitMQ | WARN si l’utilisateur par défaut guest existe toujours |
| #26 | Connexions actives | INFO uniquement. Signale le nombre de connexions actives |
| #27 | Cookie Erlang accessible | WARN si le fichier cookie est manquant, si les autorisations sont erronées (il doit s’agir du mode 400 ou 600) |
| #27a | ERLANG_HOME défini | WARN (Windows uniquement) si « ERLANG_HOME » n’est pas défini ou si le chemin n’existe pas. |
| #27b | Validité SSL | FAIL Les certificats ont expiré |
| #27c | Alarme disque | FAIL Espace libre < 10 Go sur la partition RMQ (la mise à niveau est arrêtée) |
| #45 | Répertoire de certificats renseigné | WARN s’il existe un répertoire de certificat mais qu’il est vide ou qu’il manque des fichiers de certificat attendus (certificat de serveur, clé, certificat d’autorité de certification) |
Réseau et configuration
| ID de vérification | Nom | État Échec (FAIL) / Avertissement (WARN) |
| #28a/b | Communications Agent-Serveur principal | WARN L’agent ne peut pas joindre le Serveur principal sur 5671, 5672, 80 ou 443 |
| #33-35 | JSON/Bash Config | FAIL config.json, setup.json ou environment.bash manquant ou non valide |
| #36a | Version connue comme incorrecte | FAIL La version actuelle est 2025.3.0 (mise à niveau des blocs de régression) |
Services et sauvegarde
| ID de vérification | Nom | État Échec (FAIL) / Avertissement (WARN) |
| #38 | Tous les services RMT en cours d’exécution | WARN pour chaque service arrêté |
| #38a | Processus échoués | FAIL Processus tabrmt-* persistants détectés après l’arrêt des services |
| #39 | Processeur d’arrière-plan en cours d’exécution | WARN si le processus hôte n’est pas en cours d’exécution |
| #40 | Rappel de sauvegarde avant la mise à niveau | WARN pour rappeler de sauvegarder la configuration avant la mise à niveau |
| #41 | Topologie | INFO uniquement. Signale le type de nœud principal/agent et le nombre d’agents actifs (avec base de données) |
| #42 | Inventaire des versions des composants | INFO uniquement. Rapports sur les versions RMT, PostgreSQL, RabbitMQ et OpenSSL |
| #43 | Résumé des spécifications de la machine | INFO uniquement. Rapports sur le système d’exploitation, les cœurs de processeur, la RAM et l’espace disque disponible |
Vérifications de l’intégrité après la mise à niveau
Ces vérifications s’exécutent après la mise à niveau. Elles ne bloquent pas les processus et les défaillances n’arrêtent pas la mise à niveau mais indiquent des problèmes post-installation.
| ID de vérification | Nom | Composant | État Échec (FAIL) / Avertissement (WARN) |
| #1a-d | Services et processus | RMT Server, Agent | FAIL Les services Main, PG ou RMQ ne sont pas en cours d’exécution |
| #2 | Processus du superviseur hôte | RMT Server, Agent | WARN Processus du superviseur hôte manquant (pas de récupération automatique) |
| #3a-b | Intégrité du fichier de configuration | RMT Server, Agent | FAIL si JSON manquant ou non valide |
| #4a-b | Autorisations de fichier | RMT Server, Agent | FAIL Répertoires de configuration/journal non lisibles/accessibles en écriture par compte de service |
| #5a-d | Port d’écoute | RMT Server | FAIL Absence d’écoute Web (443), AMQP (5672) ou DB (5555) |
| #6 | Connectivité PostgreSQL | RMT Server | FAIL PostgreSQL n’accepte pas les connexions |
| #7 | État de RabbitMQ | RMT Server | SKIP si externe. FAIL après que toutes les tentatives ont été épuisées. |
| #8a | Consommateurs en file d’attente | RMT Server | WARN Il existe une file d’attente, mais aucun consommateur actif (workers principaux déconnectés) |
| #9 | Alarmes RMQ | RMT Server | FAIL Alarmes actives de mémoire ou de ressource de disque détectées |
| #10 | Certificat SSL RabbitMQ | RMT Server | FAIL si le certificat a expiré. WARN si les certificats expirent dans les 30 jours |
| #11 | Correspondance FIPS | RMT Server, Agent | FAIL OS FIPS state mismatches isFIPSEnabled config |
| #12 | Réponse HTTP du serveur Web | RMT Server | Définit HTTP GET sur « https://localhost :<port>/authentication/login ». PASS sur 200 ou 302. FAIL en cas de connexion refusée/expiration du délai. WARN en cas d’autres erreurs. |
| #13 | Validité du certificat HTTPS | RMT Server | FAIL Le certificat TLS du serveur Web a expiré |
| #14a-d | Espace disque | RMT Server, Agent | FAIL Espace libre < 1 Go WARN : Espace libre < 5 Go |
| #15 | Erreurs de journalisation récentes | RMT Server, Agent | FAIL Erreurs FATAL dans les journaux. WARN : Erreurs CRITICAL |
| #16 | Statut RMT | RMT Server, Agent | FAIL L’état rmtadmin retourne des schémas d’échec |
| #17 | Historique du journal de l’Agent | Agent | Vérifie les fichiers journaux de suivi (.history, .json) dans le répertoire de données de l’Agent. WARN si les fichiers sont illisibles ou endommagés |
| #18a-f | Version d’inventaire | RMT Server, Agent | INFO version RMT, version PostgreSQL, version RabbitMQ, version Erlang/OTP, .NET Runtime (Windows) / système d’exploitation (Linux), version du système d’exploitation (Windows) / Kernel (Linux) |
Codes de fermeture de la vérification de l’intégrité
Utilisez les codes de fermeture suivants pour interpréter les résultats des scripts de vérification de l’intégrité avant et après la mise à niveau.
Scripts de pré-mise à niveau
| Code de fermeture | État | Comportement de mise à niveau |
| 0 | READY TO UPGRADE | Poursuite de la mise à niveau |
| 1 | UPGRADE WITH CAUTION | La mise à niveau se poursuit ; Avertissements de révision |
| 2 | Ne pas mettre à niveau | Mise à niveau annulée |
| 3 | Erreur de script | Vérifier l’environnement d’exécution |
Scripts de post-mise à niveau
| Code de fermeture | État |
| 0 | ALL PASSED |
| 1 | WARNINGS PRESENT |
| 2 | CRITICAL FAILURES |
Changements de gravité InstallerContext
Lorsqu’elles sont exécutées avec -InstallerContext pendant des mises à niveau automatiques Windows MSI, les vérifications suivantes se comportent différemment de la vérification manuelle par défaut. Le comportement par défaut (non-InstallerContext) est *déjà* WARN pour les états « stopped but not Disabled » / « port not listening ». FAIL est réservé à « Stopped+Disabled ». Sous « -InstallerContext », même la branche « Disabled » est signalée comme WARN. Une mise à niveau à la volée pilotée par le programme d’installation ne fait donc jamais l’objet d’un veto de la part d’un état temporaire que le programme d’installation est sur le point de corriger.
| Vérification | Nom | Par défaut | InstallerContext |
| #17 | Service PG | WARN si arrêté, FAIL si arrêté et désactivé, INFO si tout est arrêté | WARN |
| #18 | Port PG | WARN en l’absence d’écoute, INFO si tous les services sont arrêtés | WARN |
| #22 | Service RabbitMQ | WARN si arrêté, FAIL si arrêté+désactivé, INFO si tous les services sont arrêtés | WARN |
| #23 | Port 5672 (AMQP) | WARN en l’absence d’écoute, INFO si tous les services sont arrêtés | WARN |
| #38a | Processus RMT échoués | (voir la description de la vérification) | SKIP (le programme d’installation gère le cycle de vie des processus) |
Seuils de pré-mise à niveau
| Seuil | RMT Server | Agent | Unité |
| Espace disque FAIL | 20 | 5 | Go disponible |
| Espace disque WARN | 50 | 10 | Go disponible |
| Temp dir FAIL | 5 | 5 | Go disponible |
| Temp dir WARN | 10 | 10 | Go disponible |
| RAM FAIL | 8 | 4 | Go |
| RAM WARN | 16 | 8 | Go |
| CPU FAIL | 4 | 2 | cœurs |
| CPU WARN | 8 | 4 | cœurs |
| Taille de la base de données FAIL | 500 | - | Go |
| Taille de la base de données WARN | 200 | - | Go |
| Schéma Hangfire FAIL | 10 | - | Go |
| Schéma Hangfire WARN | 1 | - | Go |
| WAL dir FAIL (Windows) | 10 | - | Go |
| WAL dir FAIL (Windows) | 2 | - | Go |
| WAL dir FAIL (Linux) | 10 | - | Go |
| Mnesia dir WARN | 5 | - | Go |
| Alarme de disque RabbitMQ FAIL | 10 | - | Go disponible |
| Retard de file d’attente WARN | 10 000 | - | messages |
| Expiration du certificat WARN | 30 | 30 | jours |
| Période rétention avant nettoyage WARN | 180 | - | jours |
| Ratio de tuple inactif WARN | 20 | - | % |
| Pulsation de l’agent obsolète | 15 | - | minutes |
| Âge du pilote réseau WARN | 3 | - | années |
| Taille du répertoire journal WARN | 5 | 5 | Go |
| Taille du répertoire log WARN (severe) | 20 | 20 | Go |
Seuils de post-mise à niveau
| Seuil | Valeur | Unité |
| Espace disque FAIL | 1 | Go disponible |
| Espace disque WARN | 5 | Go disponible |
| Expiration du certificat WARN | 30 | jours |
| Retard de file d’attente WARN | 10 000 | messages |
| Fenêtre d’analyse du journal | 60 | minutes |
| Nouvelle tentative de démarrage de RabbitMQ | 6 tentatives x 5 sec | 30 secondes au total |
Versions minimum de composant prises en charge
| Composant | Version minimum |
| RabbitMQ | >= 3.10.10 |
| Version de l’Agent | >= 2023.1.0 |
Automatisation et intégration CI/CD
Pour 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
```
Pour Windows :
```powershell
# Windows
.\rmt-pre-upgrade-check.ps1 -Component master
if ($LASTEXITCODE -eq 2) {
Write-Error "BLOCKED: Fix critical issues before upgrading"
exit 1
}
```
Référence du répertoire d’installation
Pour appeler manuellement les utilitaires de diagnostic sous-jacents ou vérifier votre structure d’installation, reportez-vous aux chemins des répertoires spécifiques à la plate-forme :
Structure des répertoires 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
```
Structure des répertoires Windows
```
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root
C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root
```
Ports réseau requis
| Port | Service | Direction |
| 80 | Interface utilisateur Web RMT (HTTP) | Entrant |
| 443 | Interface utilisateur Web RMT (HTTPS) | Entrant |
| 5672 | RabbitMQ AMQP | Entrant sur le RMT Server |
| 5671 | RabbitMQ AMQP sur TLS | Entrant sur le RMT Server |
| 15672 | Interface utilisateur de gestion de RabbitMQ | Local |
| 25672 | Internœud RabbitMQ | Local |
| 5555 | PostgreSQL interne | Local |
