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ôle | Nom | Plateformes | Condition d’échec (FAIL) et d’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 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 |
| #2 | Espace disque | Linux, Windows | FAIL 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 |
| #2a | Type de disque | Linux, Windows | INFO Indique si le disque est un SSD ou un HDD |
| #3 | RAM | Linux, Windows | WARN Moins de 8 Go (minimum) sur RMT Server, ou moins de 4 Go (minimum) sur l’agent |
| #4 | Cœurs de processeur | Linux, Windows | WARN Moins de 8 Go (minimum) sur RMT Server, ou moins de 4 Go (minimum) sur l’agent |
| #4a | Instructions concernant le processeur | 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 Recherche les libcrypto-3-x64.dll et les libssl-3-x64.dll |
| #5 | Disponibilité du système | Linux, Windows | INFO : 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) |
| #6 | Systemd en marche | Linux | FAIL systemd ne fonctionne pas, PASS : En marche ou dégradé |
| #7 | Mode FIPS | Linux, Windows | FAIL (Windows) : activé dans le registre, PASS FIPS désactivé. WARN (Linux) config.json incompatible. PASS Système d’exploitation et configuration compatibles |
| #7a | Version de PowerShell | Windows | INFO Version de PowerShell |
| #7b | Paramètres régionaux du système | Windows | INFO Informations sur les paramètres régionaux du système |
| #7c | Intégrité du WMI | Windows | WARN Le référentiel WMI n’est pas cohérent |
Comptes et autorisations
| ID du contrôle | Nom | Plateforme | Condition d’échec (FAIL) et d’avertissement (WARN) |
| #8 | Compte de service | Linux, Windows | FAIL Compte de service RMT ou service Windows introuvable |
| #9 | Membre du groupe | Linux | FAIL Groupes de services requis (par exemple, rmtmasterapp, rmtmasterconfig, etc.) manquants |
| #10 | Systemd de l’utilisateur | Linux | FAIL Le daemon/linger du systemd de l’utilisateur n’est pas actif |
| #44 | pamtester est installé | Linux | WARN 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ôle | Répertoire | Expected Owner:Group | Mode prévu |
| #11 | Répertoire de configuration | tabrmt-master:rmtmasterconfig | 2775 |
| #12 | Répertoire des fichiers journaux | tabrmt-master:rmtmasterlogs | 2775 |
| #13 | Répertoire de données (+ sous-répertoires PG/RMQ) | Composant-adapté | 2775 |
| #14 | Répertoires des prérequis | root ou utilisateur de composant | 755 |
| #14a | Fichier rabbitmq-defaults | Group-writable obligatoire | g+w |
| #15 | Répertoire de certificat SSL | tabrmt-master:rmtopenssl | 2775 |
| #15a | Répertoire de base | Utilisateur de composant | 770 |
| #15b | /etc/profile.d/tabrmt-*.sh | root | par défaut |
| #15c | Répertoire de configuration setgid bit | -- | 2xxx requis |
| #16 | environment.bash | Utilisateur de composant | group-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 | Nom | Gravité |
| #11 | ACLs des répertoires de configuration | FAIL si l’utilisateur du service n’a pas accès à FullControl |
| #12 | ACLs des répertoires de fichiers journaux | FAIL si l’utilisateur du service n’a pas accès à Modifier |
| #13 | ACLs 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 |
| #14 | ACLs 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) |
| #15 | ACLs des répertoires de certificats SSL (RMT Server) | FAIL si l’utilisateur du service n’a pas accès à FullControl |
| #16a | Identité de l’utilisateur du service | PASS (informatif -- indique sous quel utilisateur le service s’exécute) |
| #16b | Privilège SeServiceLogonRight | INFO si disponible; WARN si introuvable ou si secedit plante |
| #16c | ACLS des utilisateurs de service sur les répertoires RMT | FAIL 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ôle | Nom | Requiert --optiondb-password | Condition d’échec (FAIL) et d’avertissement (WARN) |
| #17 | Service PG | Non | FAIL Service local Interrompu ET désactivé |
| #18 | Port 5555 - écoute | Non | WARN (indice pour le groupe de sécurité / VPC / RDS) N’écoute pas |
| #19 | DB Connection | Oui | WARN 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ôle | Nom | Condition d’échec (FAIL) et d’avertissement (WARN) |
| #22 | Service RMQ | FAIL Service local Interrompu ET désactivé |
| #24 | File d’attente | WARN Toute file d’attente contenant plus de 10 000 messages |
| #25 | Utilisateurs de RabbitMQ | WARN si l’utilisateur par défaut guest existe toujours |
| #26 | Connexions actives | INFO uniquement. Indique le nombre de connexions actives |
| #27 | Témoin Erlang accessible | WARN si le fichier témoin est manquant ou si les autorisations sont incorrectes (devrait être le 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é du SSL | FAIL Les certificats ont expiré |
| #27c | Alarme de disque | FAIL Moins de 10 Go d’espace libre sur la partition RMQ (la mise à niveau sera bloquée) |
| #45 | Ré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ôle | Nom | Condition d’échec (FAIL) et d’avertissement (WARN) |
| #28a/b | Communications agent-principal | WARN L’agent n’arrive pas à joindre le principal sur les ports 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 étant défectueuse | FAIL La version actuelle est 2025.3.0 (la régression empêche la mise à niveau) |
Services et sauvegarde
| ID du contrôle | Nom | Condition d’échec (FAIL) et d’avertissement (WARN) |
| #38 | Tous les services RMT fonctionnent | WARN pour chaque service interrompu |
| #38a | Processus bloqués | FAIL Lenteur des processus tabrmt-* détectés après l’interruption des services |
| #39 | Processeur d’arrière-plan en marche | WARN si le processus hôte ne fonctionne pas |
| #40 | Rappel de sauvegarde avant la mise à niveau | WARN pour rappel, sauvegarder la configuration avant la mise à niveau |
| #41 | Topologie | INFO uniquement. Indique le type de nœud maître/agent et le nombre d’agents actifs (avec base de données) |
| #42 | Inventaire des versions des composants | INFO uniquement. Indique les de versions RMT, PostgreSQL, RabbitMQ et OpenSSL |
| #43 | Résumé des spécifications de la machine | INFO 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ôle | Nom | Composant | Condition d’échec (FAIL) et d’avertissement (WARN) |
| #1a-d | Services et processus | RMT Server, Agent | FAIL les services Main, PG ou RMQ ne fonctionnent pas |
| #2 | Superviseur du processus hôte | RMT Server, Agent | WARN Processus hôte du superviseur manquant (aucune récupération automatique) |
| #3a-b | Intégrité du fichier de configuration | RMT Server, Agent | FAIL si fichier JSON manquant ou non valide |
| #4a-b | Autorisations de fichier | RMT Server, Agent | FAIL Répertoires de configuration ou de fichiers journaux non lisibles ou inscriptibles par le compte de service |
| #5a-d | Écoute via le port | RMT Server | FAIL Web (443), AMQP (5672) ou DB (5555) sans écoute |
| #6 | Connectivité de PostgreSQL | RMT Server | FAIL PostgreSQL n’accepte pas les connexions |
| #7 | État de RabbitMQ | RMT Server | SKIP si externe. FAIL après avoir épuisé toutes les tentatives. |
| #8a | Consommateurs de la file d’attente | RMT Server | WARN Une file d’attente existe, mais ne contient pas de consommateur actif (les workers Master sont déconnectés) |
| #9 | Alarmes RMQ | RMT Server | FAIL Des alarmes de ressources actives (mémoire ou disque) ont été détectées |
| #10 | Certificat SSL de RabbitMQ | RMT Server | FAIL si le certificat a expiré. WARN si les certificats expirent au bout de 30 jours |
| #11 | Concordance du FIPS | RMT Server, Agent | FAIL L’état FIPS du système d’exploitation ne correspond pas à la configuration isFIPSEnabled |
| #12 | Réponse HTTP du serveur Web | RMT Server | Envoie 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. |
| #13 | Validité du certificat HTTPS | RMT Server | FAIL Le certificat TLS du serveur Web a expiré |
| #14a-d | Espace disque | RMT Server, Agent | FAIL Moins de 1 Go d’espace disponible. WARN Moins de 5 Go d’espace disponible |
| #15 | Erreurs récentes dans les fichiers journaux | RMT Server, Agent | FAIL Erreurs FATALES dans les fichiers journaux. WARN : Erreurs CRITIQUES |
| #16 | Statut du RMT | RMT Server, Agent | FAIL Le statut rmtadmin renvoie les modes de défaillance |
| #17 | Historique du fichier journal de l'Agent | Agent | Recherche 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-f | Version de l’inventaire | RMT Server, Agent | INFO à 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 |
| 0 | READY TO UPGRADE | La mise à niveau se poursuit |
| 1 | UPGRADE WITH CAUTION | La mise à niveau se poursuit; examiner les avertissements |
| 2 | Ne pas mettre à niveau | Mise à niveau annulée |
| 3 | Erreur de script | Vérifier l’environnement d’exécution |
Scripts après la mise à niveau
| Code de sortie | État |
| 0 | ALL PASSED |
| 1 | WARNINGS PRESENT |
| 2 | CRITICAL 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éfaut | InstallerContext |
| #17 | Service PG | WARN si Interrompu, FAIL si Interrompu et désactivé, INFO si tout est interrompu | WARN |
| #18 | Port PG | WARN si sans écoute, INFO si tous les services sont interrompus | WARN |
| #22 | Service RabbitMQ | WARN si Interrompu, FAIL si Interrompu et désactivé, INFO si tout est interrompu | WARN |
| #23 | Port 5672 (AMQP) | WARN si sans écoute, INFO si tous les services sont interrompus | WARN |
| #38a | Processus 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 | Agent | Unité |
| Espace disque FAIL | 20 | 5 | Espace disque disponible en Go |
| Espace disque WARN | 50 | 10 | Espace disque disponible en Go |
| Répertoire temporaire FAIL | 5 | 5 | Espace disque disponible en Go |
| Répertoire temporaire WARN | 10 | 10 | Espace disque disponible en Go |
| 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 |
| Répertoire WAL FAIL (Windows) | 10 | - | Go |
| Répertoire WAL FAIL (Windows) | 2 | - | Go |
| Répertoire WAL FAIL (Linux) | 10 | - | Go |
| Répertoire Mnesia WARN | 5 | - | Go |
| Alarme de disque RabbitMQ FAIL | 10 | - | Espace disque disponible en Go |
| File d’attente WARN | 10 000 | - | messages |
| Expiration du certificat WARN | 30 | 30 | jours |
| Rétention du nettoyage WARN | 180 | - | jours |
| Taux de lignes mortes WARN | 20 | - | pour cent |
| Pulsation de l’agent obsolète | 15 | - | minutes |
| Âge du pilote réseau WARN | 3 | - | années |
| Taille du répertoire de fichiers journaux WARN | 5 | 5 | Go |
| Taille du répertoire de fichiers journaux WARN (sévère) | 20 | 20 | Go |
Seuils après la mise à niveau
| Seuil | Valeur | Unité |
| Espace disque FAIL | 1 | Espace disque disponible en Go |
| Espace disque WARN | 5 | Espace disque disponible en Go |
| Expiration du certificat WARN | 30 | jours |
| File d’attente WARN | 10 000 | messages |
| Fenêtre d’analyse des fichiers journaux | 60 | minutes |
| Nouvelle tentative de démarrage de RabbitMQ | 6 tentatives x 5 sec | 30 secondes au total |
Versions minimales prises en charge pour les composants
| Composant | Version 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
| Port | Service | Direction |
| 80 | Interface utilisateur Web (HTTP) du RMT | Entrant |
| 443 | Interface utilisateur Web (HTTPS) du RMT | Entrant |
| 5672 | RabbitMQ AMQP | Flux entrant sur RMT Server |
| 5671 | RabbitMQ AMQP sur TLS | Flux entrant sur RMT Server |
| 15672 | Interface utilisateur de gestion de RabbitMQ | Local |
| 25672 | Internœud RabbitMQ | Local |
| 5555 | PostgreSQL interne | Local |
