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érificationNom Plate-formeÉtat Échec (FAIL) / Avertissement (WARN)
#1Système d’exploitationLinux, WindowsWARN 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
#2Espace disqueLinux, WindowsFAIL Espace libre Serveur RMT < 20 Go ou Agent < 5 Go. WARN Espace libre Serveur RMT < 50 Go ou Agent < 10 Go
#2aType de disqueLinux, WindowsINFO Indique s’il s’agit d’un SSD ou d’un disque dur
#3

RAM

Linux, WindowsWARN Serveur RMT < 8 Go (minimum) ou Agent < 4 Go (minimum)
#4Cœurs de processeurLinux, WindowsWARN Serveur RMT < 8 Go (minimum) ou Agent < 4 Go (minimum)
#4aInstructions relatives au CPULinux, WindowsFAIL (Linux) : sse4_2 ou popcnt manquant. WARN (Windows) : processeur plus ancien détecté.
#4bVC++ RedistWindowsFAIL Visual Studio 2022 C++ Redistributable manquant.
#4cOpenSSL DLLsWindowsINFO Vérifie libcrypto-3-x64.dll et libssl-3-x64.dll
#5Disponibilité du systèmeLinux, WindowsINFO : remarque si < 10 minutes (redémarrage très récent) ou > 90 jours (correctifs en attente)
#6Systemd en cours d’exécutionLinuxFAIL systemd n’est pas en cours d’exécution, PASS : en cours d’exécution ou dégradé
#7Mode FIPSLinux, WindowsFAIL (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
#7aVersion de PowerShellWindowsINFO Version de PowerShell
#7bParamètres régionaux systèmeWindowsINFO Informations sur les paramètres régionaux du système
#7cIntégrité WMIWindowsWARN Le référentiel WMI est incohérent

 

Comptes et autorisations

ID de vérificationNom Plate-formeÉtat Échec (FAIL) / Avertissement (WARN)
#8Compte de serviceLinux, WindowsFAIL Compte du service RMT ou service Windows introuvable
#9Adhésion au groupeLinuxFAIL Groupes de services requis (p. ex., rmtmasterapp, rmtmasterconfig, etc.) manquants
#10User SystemdLinuxFAIL L’utilisateur systemd daemon/linger n’est pas actif
#44pamtester installéLinuxWARN 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érificationRépertoire Expected Owner:GroupMode attendu
#11Config dirtabrmt-master :rmtmasterconfig2775
#12Log dirtabrmt-master:rmtmasterlogs2775
#13Data dir (+ PG/RMQ subdirs)Adapté aux composants2775
#14Prerequisites dirsutilisateur root ou de composant755
#14afichier rabbitmq-defaultsdoit obligatoirement être accessible en écriture par groupeg+w
#15SSL cert dirtabrmt-master:rmtopenssl2775
#15aRépertoire de baseUtilisateur de composant770
#15b/etc/profile.d/tabrmt-*.shrootdefault
#15cConfig dir setgid bit--2xxx requis
#16environment.bashUtilisateur de composantgroup-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 NomGravité
#11Config dir ACLsFAIL si l’utilisateur du service ne dispose pas de FullControl
#12Log dir ACLsFAIL si l’utilisateur du service ne dispose pas de Modify
#13Data dir ACLs (serveur RMT)FAIL si l’utilisateur du service ne dispose pas de FullControl sur les répertoires de données PG/RMQ
#14Prereqs 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)
#15SSL cert dir ACLs (RMT Server)FAIL si l’utilisateur du service ne dispose pas de FullControl
#16aIdentité de l’utilisateur du servicePASS (informatif -- indique sous quel utilisateur le service s’exécute)
#16bSeServiceLogonRight privilegeINFO si trouvé ; WARN si non trouvé ou si secedit échoue
#16cService user ACLs sur RMT dirsFAIL 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érificationNom Requiert l’option --db-passwordÉtat Échec (FAIL) / Avertissement (WARN)
#17Service PGNonFAIL Service local arrêté ET désactivé
#18Écoute sur le port 5555NonWARN (indice de groupe de sécurité / VPC / RDS) Pas d’écoute
#19DB ConnectionOuiWARN 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érificationNom État Échec (FAIL) / Avertissement (WARN)
#22Service RMQFAIL Service local arrêté ET désactivé
#24Retard de file d’attenteWARN Toute file d’attente contenant > 10 000 messages
#25Utilisateurs RabbitMQWARN si l’utilisateur par défaut guest existe toujours
#26Connexions activesINFO uniquement. Signale le nombre de connexions actives
#27Cookie Erlang accessibleWARN si le fichier cookie est manquant, si les autorisations sont erronées (il doit s’agir du mode 400 ou 600)
#27aERLANG_HOME définiWARN (Windows uniquement) si « ERLANG_HOME » n’est pas défini ou si le chemin n’existe pas.
#27bValidité SSLFAIL Les certificats ont expiré
#27cAlarme disqueFAIL Espace libre < 10 Go sur la partition RMQ (la mise à niveau est arrêtée)
#45Ré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érificationNom État Échec (FAIL) / Avertissement (WARN)
#28a/bCommunications Agent-Serveur principalWARN L’agent ne peut pas joindre le Serveur principal sur 5671, 5672, 80 ou 443
#33-35JSON/Bash ConfigFAIL config.json, setup.json ou environment.bash manquant ou non valide
#36aVersion connue comme incorrecteFAIL La version actuelle est 2025.3.0 (mise à niveau des blocs de régression)

Services et sauvegarde

ID de vérificationNom État Échec (FAIL) / Avertissement (WARN)
#38Tous les services RMT en cours d’exécutionWARN pour chaque service arrêté
#38aProcessus échouésFAIL Processus tabrmt-* persistants détectés après l’arrêt des services
#39Processeur d’arrière-plan en cours d’exécutionWARN si le processus hôte n’est pas en cours d’exécution
#40Rappel de sauvegarde avant la mise à niveauWARN pour rappeler de sauvegarder la configuration avant la mise à niveau
#41TopologieINFO uniquement. Signale le type de nœud principal/agent et le nombre d’agents actifs (avec base de données)
#42Inventaire des versions des composantsINFO uniquement. Rapports sur les versions RMT, PostgreSQL, RabbitMQ et OpenSSL
#43Résumé des spécifications de la machineINFO 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érificationNom ComposantÉtat Échec (FAIL) / Avertissement (WARN)
#1a-dServices et processusRMT Server, AgentFAIL Les services Main, PG ou RMQ ne sont pas en cours d’exécution
#2Processus du superviseur hôteRMT Server, AgentWARN Processus du superviseur hôte manquant (pas de récupération automatique)
#3a-bIntégrité du fichier de configurationRMT Server, AgentFAIL si JSON manquant ou non valide
#4a-bAutorisations de fichierRMT Server, AgentFAIL Répertoires de configuration/journal non lisibles/accessibles en écriture par compte de service
#5a-dPort d’écouteRMT ServerFAIL Absence d’écoute Web (443), AMQP (5672) ou DB (5555)
#6Connectivité PostgreSQLRMT ServerFAIL PostgreSQL n’accepte pas les connexions
#7État de RabbitMQRMT ServerSKIP si externe. FAIL après que toutes les tentatives ont été épuisées.
#8aConsommateurs en file d’attenteRMT ServerWARN Il existe une file d’attente, mais aucun consommateur actif (workers principaux déconnectés)
#9Alarmes RMQRMT ServerFAIL Alarmes actives de mémoire ou de ressource de disque détectées
#10Certificat SSL RabbitMQRMT ServerFAIL si le certificat a expiré. WARN si les certificats expirent dans les 30 jours
#11Correspondance FIPSRMT Server, AgentFAIL OS FIPS state mismatches isFIPSEnabled config
#12Réponse HTTP du serveur WebRMT ServerDé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.
#13Validité du certificat HTTPSRMT ServerFAIL Le certificat TLS du serveur Web a expiré
#14a-dEspace disqueRMT Server, AgentFAIL Espace libre < 1 Go WARN : Espace libre < 5 Go
#15Erreurs de journalisation récentesRMT Server, AgentFAIL Erreurs FATAL dans les journaux. WARN : Erreurs CRITICAL
#16Statut RMTRMT Server, AgentFAIL L’état rmtadmin retourne des schémas d’échec
#17Historique du journal de l’AgentAgentVé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-fVersion d’inventaireRMT Server, AgentINFO 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
0READY TO UPGRADEPoursuite de la mise à niveau
1UPGRADE WITH CAUTIONLa mise à niveau se poursuit ; Avertissements de révision
2Ne pas mettre à niveauMise à niveau annulée
3Erreur de scriptVérifier l’environnement d’exécution

Scripts de post-mise à niveau

Code de fermetureÉtat
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL 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éfautInstallerContext
#17Service PGWARN si arrêté, FAIL si arrêté et désactivé, INFO si tout est arrêtéWARN
#18Port PGWARN en l’absence d’écoute, INFO si tous les services sont arrêtésWARN
#22Service RabbitMQWARN si arrêté, FAIL si arrêté+désactivé, INFO si tous les services sont arrêtésWARN
#23Port 5672 (AMQP)WARN en l’absence d’écoute, INFO si tous les services sont arrêtésWARN
#38aProcessus 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 AgentUnité
Espace disque FAIL205Go disponible
Espace disque WARN5010Go disponible
Temp dir FAIL55Go disponible
Temp dir WARN1010Go disponible
RAM FAIL84Go
RAM WARN168Go
CPU FAIL42cœurs
CPU WARN84cœurs
Taille de la base de données FAIL500-Go
Taille de la base de données WARN200-Go
Schéma Hangfire FAIL10-Go
Schéma Hangfire WARN1-Go
WAL dir FAIL (Windows)10-Go
WAL dir FAIL (Windows)2-Go
WAL dir FAIL (Linux)10-Go
Mnesia dir WARN5-Go
Alarme de disque RabbitMQ FAIL10-Go disponible
Retard de file d’attente WARN10 000-messages
Expiration du certificat WARN3030jours
Période rétention avant nettoyage WARN180-jours
Ratio de tuple inactif WARN20-%
Pulsation de l’agent obsolète15-minutes
Âge du pilote réseau WARN3-années
Taille du répertoire journal WARN55Go
Taille du répertoire log WARN (severe)2020Go

Seuils de post-mise à niveau

SeuilValeur Unité
Espace disque FAIL1Go disponible
Espace disque WARN5Go disponible
Expiration du certificat WARN30jours
Retard de file d’attente WARN10 000messages
Fenêtre d’analyse du journal60minutes
Nouvelle tentative de démarrage de RabbitMQ6 tentatives x 5 sec30 secondes au total

 

Versions minimum de composant prises en charge

ComposantVersion 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

PortService Direction
80Interface utilisateur Web RMT (HTTP)Entrant
443Interface utilisateur Web RMT (HTTPS)Entrant
5672RabbitMQ AMQPEntrant sur le RMT Server
5671RabbitMQ AMQP sur TLSEntrant sur le RMT Server
15672Interface utilisateur de gestion de RabbitMQLocal
25672Internœud RabbitMQLocal
5555PostgreSQL interneLocal
Merci de vos commentaires !Avis correctement envoyé. Merci