Mise à niveau du RMT : Référence technique

Cette section est un guide de référence technique pour les seuils opérationnels, les chemins d’accès au système et les ports réseau vérifiés pendant le processus de mise à niveau. Utilisez les tables suivantes pour diagnostiquer rapidement les erreurs de validation et adapter votre environnement aux références requises par RMT.

Remarque : Conformément aux valeurs d’égalité de notre entreprise, nous avons renommé RMT Master en RMT Server. Dans certains cas, les chemins d’installation et les commandes de RMT Server peuvent utiliser le terme « master » au lieu de « server ». 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).

Contrôles d’intégrité avant la mise à niveau

Le contrôle d’intégrité avant la mise à niveau examine l’hôte de votre RMT Server ou agent lorsque l’installation actuelle est toujours intacte (services en marche, base de données accessible), et génère un rapport détaillé avec les mentions PASS / FAIL / WARN. Il exécute plus de 80 contrôles individuels 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 contrôles effectués avant la mise à niveau. Si un élément renvoie un statut FAIL (code de sortie 2), la mise à niveau est annulée.

Système et matériel

ID du contrôleNom PlateformesCondition d’échec (FAIL) et d’avertissement (WARN)
#1Système d’exploitationLinux, WindowsWARN La version du système d’exploitation ne figure pas dans la liste d’autorisations des pré-contrôles. 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 Moins de 20 Go d’espace libre sur RMT Server, ou moins de 5 Go d’espace libre sur l’agent. WARN Moins de 50 Go d’espace libre sur RMT Server, ou moins de 10 Go d’espace libre sur l’agent
#2aType de disqueLinux, WindowsINFO Indique si le disque est un SSD ou un HDD
#3

RAM

Linux, WindowsWARN Moins de 8 Go (minimum) sur RMT Server, ou moins de 4 Go (minimum) sur l’agent
#4Cœurs de processeurLinux, WindowsWARN Moins de 8 Go (minimum) sur RMT Server, ou moins de 4 Go (minimum) sur l’agent
#4aInstructions concernant le processeurLinux, WindowsFAIL (Linux) : sse4_2 ou popcnt manquant. WARN (Windows) : processeur plus ancien détecté.
#4bVC++ RedistWindowsFAIL Visual Studio 2022 C++ Redistributable manquant.
#4cOpenSSL DLLsWindowsINFO Recherche les libcrypto-3-x64.dll et les libssl-3-x64.dll
#5Disponibilité du systèmeLinux, WindowsINFO : Signale si le redémarrage date de moins de 10 minutes (redémarrage très récent) ou de plus de 90 jours (correctifs en attente)
#6Systemd en marcheLinuxFAIL systemd ne fonctionne pas, PASS : En marche ou dégradé
#7Mode FIPSLinux, WindowsFAIL (Windows) : activé dans le registre, PASS FIPS désactivé. WARN (Linux) config.json incompatible. PASS Système d’exploitation et configuration compatibles
#7aVersion de PowerShellWindowsINFO Version de PowerShell
#7bParamètres régionaux du systèmeWindowsINFO Informations sur les paramètres régionaux du système
#7cIntégrité du WMIWindowsWARN Le référentiel WMI n’est pas cohérent

 

Comptes et autorisations

ID du contrôleNom PlateformeCondition d’échec (FAIL) et d’avertissement (WARN)
#8Compte de serviceLinux, WindowsFAIL Compte de service RMT ou service Windows introuvable
#9Membre du groupeLinuxFAIL Groupes de services requis (par exemple, rmtmasterapp, rmtmasterconfig, etc.) manquants
#10Systemd de l’utilisateurLinuxFAIL Le daemon/linger du systemd de l’utilisateur n’est pas actif
#44pamtester est installéLinuxWARN s’il n’est pas installé. Pour résoudre ce problème, installer yum install pamtester ou apt install libpam-runtime

Propriété du répertoire et autorisations pour Linux

ID du contrôleRépertoire Expected Owner:GroupMode prévu
#11Répertoire de configurationtabrmt-master:rmtmasterconfig2775
#12Répertoire des fichiers journauxtabrmt-master:rmtmasterlogs2775
#13Répertoire de données (+ sous-répertoires PG/RMQ)Composant-adapté2775
#14Répertoires des prérequisroot ou utilisateur de composant755
#14aFichier rabbitmq-defaultsGroup-writable obligatoireg+w
#15Répertoire de certificat SSLtabrmt-master:rmtopenssl2775
#15aRépertoire de baseUtilisateur de composant770
#15b/etc/profile.d/tabrmt-*.shrootpar défaut
#15cRépertoire de configuration setgid bit--2xxx requis
#16environment.bashUtilisateur de composantgroup-writable

gravité : FAIL uniquement sur la propriété de l’ensemble de répertoires de données (#13 et #15). Tous les autres contrôles de répertoires Linux (#11, #12, #14, #14a, #15a–c, #16) émettent WARN en cas d’incompatibilité de propriété ou de mode, car le programme d’installation applique à nouveau la propriété après l’installation lors de la mise à niveau. WARN si le mode d’autorisation est incorrect, mais que le propriétaire est correct.

Propriété du répertoire et autorisations pour Windows

Contrôle NomGravité
#11ACLs des répertoires de configurationFAIL si l’utilisateur du service n’a pas accès à FullControl
#12ACLs des répertoires de fichiers journauxFAIL si l’utilisateur du service n’a pas accès à Modifier
#13ACLs des répertoires de données (Serveur RMT)FAIL si l’utilisateur du service n’a pas accès à FullControl sur les répertoires de données PG/RMQ
#14ACLs des répertoires de prérequis (Serveur RMT)WARN s’il manque l’autorisation ReadAndExecute (avis : chaque mise à niveau réinstalle les MSI des prérequis et leurs actions post-installation réappliquent les ACLs)
#15ACLs des répertoires de certificats SSL (RMT Server)FAIL si l’utilisateur du service n’a pas accès à FullControl
#16aIdentité de l’utilisateur du servicePASS (informatif -- indique sous quel utilisateur le service s’exécute)
#16bPrivilège SeServiceLogonRightINFO si disponible; WARN si introuvable ou si secedit plante
#16cACLS des utilisateurs de service sur les répertoires RMTFAIL si l’utilisateur du service ne dispose pas des droits requis

 

Base de données (PostgreSQL)

Tous les contrôles PostgreSQL s’exécutent uniquement sur RMT Server.

ID du contrôleNom Requiert --optiondb-password Condition d’échec (FAIL) et d’avertissement (WARN)
#17Service PGNonFAIL Service local Interrompu ET désactivé
#18Port 5555 - écouteNonWARN (indice pour le groupe de sécurité / VPC / RDS) N’écoute pas
#19DB ConnectionOuiWARN Impossible de se connecter à la base de données interne (problème de SSL, de mot de passe ou de réseau)

 

Messagerie (RabbitMQ)

Les contrôles de messagerie (RabbitMQ) s’exécutent uniquement sur RMT Server.

ID du contrôleNom Condition d’échec (FAIL) et d’avertissement (WARN)
#22Service RMQFAIL Service local Interrompu ET désactivé
#24File d’attenteWARN Toute file d’attente contenant plus de 10 000 messages
#25Utilisateurs de RabbitMQWARN si l’utilisateur par défaut guest existe toujours
#26Connexions activesINFO uniquement. Indique le nombre de connexions actives
#27Témoin Erlang accessibleWARN si le fichier témoin est manquant ou si les autorisations sont incorrectes (devrait être le 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é du SSLFAIL Les certificats ont expiré
#27cAlarme de disqueFAIL Moins de 10 Go d’espace libre sur la partition RMQ (la mise à niveau sera bloquée)
#45Répertoire de certificats renseignéWARN si le répertoire de certificats existe mais est vide ou si des fichiers de certificats prévus (certificat de serveur, clé, certificat CA) sont manquants

Réseau et configuration

ID du contrôleNom Condition d’échec (FAIL) et d’avertissement (WARN)
#28a/bCommunications agent-principalWARN L’agent n’arrive pas à joindre le principal sur les ports 5671, 5672, 80 ou 443
#33-35JSON/Bash ConfigFAIL config.json, setup.json ou environment.bash manquant ou non valide
#36aVersion connue comme étant défectueuseFAIL La version actuelle est 2025.3.0 (la régression empêche la mise à niveau)

Services et sauvegarde

ID du contrôleNom Condition d’échec (FAIL) et d’avertissement (WARN)
#38Tous les services RMT fonctionnentWARN pour chaque service interrompu
#38aProcessus bloquésFAIL Lenteur des processus tabrmt-* détectés après l’interruption des services
#39Processeur d’arrière-plan en marcheWARN si le processus hôte ne fonctionne pas
#40Rappel de sauvegarde avant la mise à niveauWARN pour rappel, sauvegarder la configuration avant la mise à niveau
#41TopologieINFO uniquement. Indique le type de nœud maître/agent et le nombre d’agents actifs (avec base de données)
#42Inventaire des versions des composantsINFO uniquement. Indique les de versions RMT, PostgreSQL, RabbitMQ et OpenSSL
#43Résumé des spécifications de la machineINFO uniquement. Indique le système d’exploitation, le nombre de cœurs de processeur, la RAM et l’espace disque disponible

 

Contrôles d’intégrité après la mise à niveau

Ces contrôles s’exécutent après la mise à niveau. Ils ne bloquent pas le processus et les échecs n’interrompent pas la mise à niveau, mais ils indiquent des problèmes post-installation.

ID du contrôleNom ComposantCondition d’échec (FAIL) et d’avertissement (WARN)
#1a-dServices et processusRMT Server, AgentFAIL les services Main, PG ou RMQ ne fonctionnent pas
#2Superviseur du processus hôteRMT Server, AgentWARN Processus hôte du superviseur manquant (aucune récupération automatique)
#3a-bIntégrité du fichier de configurationRMT Server, AgentFAIL si fichier JSON manquant ou non valide
#4a-bAutorisations de fichierRMT Server, AgentFAIL Répertoires de configuration ou de fichiers journaux non lisibles ou inscriptibles par le compte de service
#5a-dÉcoute via le portRMT ServerFAIL Web (443), AMQP (5672) ou DB (5555) sans écoute
#6Connectivité de PostgreSQLRMT ServerFAIL PostgreSQL n’accepte pas les connexions
#7État de RabbitMQRMT ServerSKIP si externe. FAIL après avoir épuisé toutes les tentatives.
#8aConsommateurs de la file d’attenteRMT ServerWARN Une file d’attente existe, mais ne contient pas de consommateur actif (les workers Master sont déconnectés)
#9Alarmes RMQRMT ServerFAIL Des alarmes de ressources actives (mémoire ou disque) ont été détectées
#10Certificat SSL de RabbitMQRMT ServerFAIL si le certificat a expiré. WARN si les certificats expirent au bout de 30 jours
#11Concordance du FIPSRMT Server, AgentFAIL L’état FIPS du système d’exploitation ne correspond pas à la configuration isFIPSEnabled
#12Réponse HTTP du serveur WebRMT ServerEnvoie une requête HTTP GET à `https://localhost:<port>/authentication/login`. PASS en cas de port 200 ou 302. FAIL en cas de connexion refusée ou de dépassement du délai de connexion. WARN en cas d’autres erreurs.
#13Validité du certificat HTTPSRMT ServerFAIL Le certificat TLS du serveur Web a expiré
#14a-dEspace disqueRMT Server, AgentFAIL Moins de 1 Go d’espace disponible. WARN Moins de 5 Go d’espace disponible
#15Erreurs récentes dans les fichiers journauxRMT Server, AgentFAIL Erreurs FATALES dans les fichiers journaux. WARN : Erreurs CRITIQUES
#16Statut du RMTRMT Server, AgentFAIL Le statut rmtadmin renvoie les modes de défaillance
#17Historique du fichier journal de l'AgentAgentRecherche les fichiers de suivi des fichiers journaux (.history, .json) dans le répertoire de données de l’agent. WARN si les fichiers sont corrompus ou ne sont pas lisibles
#18a-fVersion de l’inventaireRMT Server, AgentINFO à propos de la version de RMT, PostgreSQL, RabbitMQ, Erlang/OTP, .NET Runtime (Windows) / système d’exploitation (Linux), système d’exploitation (Windows) / Kernel (Linux)

Codes de sortie du contrôle d’intégrité

Utilisez les codes de sortie suivants pour interpréter les résultats des scripts de contrôle d’intégrité avant et après la mise à niveau.

Scripts avant la mise à niveau

Code de sortieÉtat Comportement de mise à niveau
0READY TO UPGRADELa mise à niveau se poursuit
1UPGRADE WITH CAUTIONLa mise à niveau se poursuit; examiner les avertissements
2Ne pas mettre à niveauMise à niveau annulée
3Erreur de scriptVérifier l’environnement d’exécution

Scripts après la mise à niveau

Code de sortieÉtat
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL FAILURES

Changements de gravité d’InstallerContext

Lorsqu’ils sont exécutés avec -InstallerContext pendant les mises à niveau automatiques de Windows MSI, les contrôles suivants se comportent différemment par rapport au mode manuel par défaut. Le comportement par défaut (hors InstallerContext) est *déjà* WARN pour les états « interrompu mais non désactivé » / « port sans écoute »; FAIL est réservé à l’état `Interrompu+Désactivé`. Sous `-InstallerContext`, même la branche `Disabled` est signalée comme WARN. Ainsi, une mise à niveau en cours déclenchée par le programme d’installation n’est jamais bloquée à cause d’un état temporaire que le programme d’installation est sur le point de corriger.

Contrôle Nom Par défautInstallerContext
#17Service PGWARN si Interrompu, FAIL si Interrompu et désactivé, INFO si tout est interrompuWARN
#18Port PGWARN si sans écoute, INFO si tous les services sont interrompusWARN
#22Service RabbitMQWARN si Interrompu, FAIL si Interrompu et désactivé, INFO si tout est interrompuWARN
#23Port 5672 (AMQP)WARN si sans écoute, INFO si tous les services sont interrompusWARN
#38aProcessus RMT bloqués(voir la description du contrôle)SKIP (le programme d’installation gère le cycle de vie des processus)

Seuils avant la mise à niveau

Seuil RMT Server AgentUnité
Espace disque FAIL205Espace disque disponible en Go
Espace disque WARN5010Espace disque disponible en Go
Répertoire temporaire FAIL55Espace disque disponible en Go
Répertoire temporaire WARN1010Espace disque disponible en Go
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
Répertoire WAL FAIL (Windows)10-Go
Répertoire WAL FAIL (Windows)2-Go
Répertoire WAL FAIL (Linux)10-Go
Répertoire Mnesia WARN5-Go
Alarme de disque RabbitMQ FAIL10-Espace disque disponible en Go
File d’attente WARN10 000-messages
Expiration du certificat WARN3030jours
Rétention du nettoyage WARN180-jours
Taux de lignes mortes WARN20-pour cent
Pulsation de l’agent obsolète15-minutes
Âge du pilote réseau WARN3-années
Taille du répertoire de fichiers journaux WARN55Go
Taille du répertoire de fichiers journaux WARN (sévère)2020Go

Seuils après la mise à niveau

SeuilValeur Unité
Espace disque FAIL1Espace disque disponible en Go
Espace disque WARN5Espace disque disponible en Go
Expiration du certificat WARN30jours
File d’attente WARN10 000messages
Fenêtre d’analyse des fichiers journaux60minutes
Nouvelle tentative de démarrage de RabbitMQ6 tentatives x 5 sec30 secondes au total

 

Versions minimales prises en charge pour les composants

ComposantVersion minimale
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 exécuter manuellement les utilitaires de diagnostic sous-jacents ou vérifier la structure de votre installation, reportez-vous aux chemins d’accès des répertoires en fonction de la plateforme :

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 (HTTP) du RMTEntrant
443Interface utilisateur Web (HTTPS) du RMTEntrant
5672RabbitMQ AMQPFlux entrant sur RMT Server
5671RabbitMQ AMQP sur TLSFlux entrant sur RMT Server
15672Interface utilisateur de gestion de RabbitMQLocal
25672Internœud RabbitMQLocal
5555PostgreSQL interneLocal
Merci de vos commentaires!Votre commentaire s été envoyé avec succès. Merci!