RMT-Upgrade: Technische Referenz
Dieser Abschnitt dient als technische Referenz für die Betriebsgrenzwerte, Systempfade und Netzwerkports, die während des Upgrade-Prozesses geprüft werden. Nutzen Sie diese Tabellen, um Validierungsfehler schnell zu diagnostizieren und Ihre Umgebung an die erforderlichen RMT-Basisanforderungen anzupassen.
Hinweis: Um unseren Unternehmenswerten in Bezug auf Gleichstellung gerecht zu werden, haben wir die Bezeichnung „RMT Master“ in „RMT-Server“ geändert. In einigen Fällen wird in RMT-Server-Installationspfaden und -befehlen aber weiterhin der Begriff „Master“ anstelle von „Server“ verwendet. Daher werden Sie den Begriff möglicherweise weiterhin in Befehlen und Optionen der Kommandozeile (CLI), in Installationsordnern, in Konfigurationsdateien und anderen Instanzen finden. Weitere Informationen finden Sie unter Über Tableau-Hilfe(Link wird in neuem Fenster geöffnet).
Pre-Upgrade-Integritätsprüfungen
Bei der Integritätsprüfung vor dem Upgrade wird Ihr RMT-Server oder Agent-Host überprüft, während die vorhandene Installation noch intakt ist. Beispielsweise wird überprüft, ob Dienste ausgeführt werden und auf die Datenbank zugegriffen werden kann. Anschließend wird ein detaillierter PASS-/FAIL-/WARN-Bericht erstellt. Dabei werden über 80 einzelne Überprüfungen von Systemressourcen, Konten, Dateiberechtigungen, PostgreSQL, RabbitMQ, Netzwerken, Konfigurationsdateien und RMT-Diensten durchgeführt. In der folgenden Tabelle sind die Überprüfungen aufgeführt, die vor dem Upgrade durchgeführt werden. Wenn eine Komponente den Status FAIL (Exit Code 2) zurückgibt, wird das Upgrade abgebrochen.
System und Hardware
| Prüfungs-ID | Name | Plattformen | Fehler (FAIL) / Warnung (WARN) |
| #1 | Betriebssystem | Linux, Windows | WARN Die Betriebssystemversion ist nicht in der Zulassungsliste für die Pre-Upgrade-Überprüfung enthalten. Die unterstützte Liste enthält 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 | Datenträgerspeicherplatz | Linux, Windows | FAIL RMT-Server < 20 GB oder Agent < 5 GB frei. WARN RMT-Server < 50 GB oder Agent < 10 GB frei |
| #2a | Datenträgertyp | Linux, Windows | INFO Gibt an, ob es sich bei dem Laufwerk um eine SSD oder HDD handelt |
| #3 | RAM | Linux, Windows | WARN RMT-Server < 8 GB (Minimum) oder Agent < 4 GB (Minimum) |
| #4 | CPU-Kerne | Linux, Windows | WARN RMT-Server < 8 GB (Minimum) oder Agent < 4 GB (Minimum) |
| #4a | CPU-Anweisungen | Linux, Windows | FAIL (Linux): Fehlende sse4_2 oder popcnt. WARN (Windows): Ältere CPU erkannt. |
| #4b | VC++ Redist | Windows | FAIL Visual Studio 2022 C++ Redistributable fehlt. |
| #4c | OpenSSL DLLs | Windows | INFO Prüft das Vorhandensein von libcrypto-3-x64.dll und libssl-3-x64.dll |
| #5 | Systemverfügbarkeit | Linux, Windows | INFO Meldet, wenn < 10 Minuten (kürzlicher Neustart) oder > 90 Tage (ausstehende Patches) |
| #6 | Systemd wird ausgeführt | Linux | FAIL Systemd wird nicht ausgeführt, PASS Wird ausgeführt oder ist degradiert |
| #7 | FIPS-Modus | Linux, Windows | FAIL (Windows) In der Registry aktiviert, PASS FIPS deaktiviert. WARN (Linux) Konflikt mit config.json. PASS Betriebssystem und Konfiguration stimmen überein |
| #7a | PowerShell-Version | Windows | INFO PowerShell-Version |
| #7b | Gebietsschema des Systems | Windows | INFO Informationen zum Gebietsschema des Systems |
| #7c | WMI-Integrität | Windows | WARN WMI-Repository ist inkonsistent |
Konten und Berechtigungen
| Prüfungs-ID | Name | Plattform | Fehler (FAIL) / Warnung (WARN) |
| #8 | Dienstkonto | Linux, Windows | FAIL RMT-Dienstkonto oder Windows-Dienst nicht gefunden |
| #9 | Gruppenmitgliedschaft | Linux | FAIL Erforderliche Dienstgruppen (z. B. rmtmasterapp, rmtmasterconfig) fehlen |
| #10 | Benutzer-Systemd | Linux | FAIL Benutzer-Systemd daemon/linger ist nicht aktiv |
| #44 | pamtester installiert | Linux | WARN, wenn nicht installiert. Um dieses Problem zu beheben, installieren Sie yum install pamtester oder apt install libpam-runtime |
Verzeichnisbesitz und -berechtigungen für Linux
| Prüfungs-ID | Verzeichnis | Expected Owner:Group | Erwarteter Modus |
| #11 | Konfigurationsverzeichnis | tabrmt-master:rmtmasterconfig | 2775 |
| #12 | Protokollverzeichnis | tabrmt-master:rmtmasterlogs | 2775 |
| #13 | Datenverzeichnis (+ PG/RMQ-Unterverzeichnisse) | Komponenten-spezifisch | 2775 |
| #14 | Erforderliche Verzeichnisse | root oder Komponentenbenutzer | 755 |
| #14a | Datei rabbitmq-defaults | Muss gruppenbeschreibbar sein | g+w |
| #15 | SSL-Zertifikatsverzeichnis | tabrmt-master:rmtopenssl | 2775 |
| #15a | Home-Verzeichnis | Komponentenbenutzer | 770 |
| #15b | /etc/profile.d/tabrmt-*.sh | root | Standard |
| #15c | Setgid-Bit im Konfigurationsverzeichnis | -- | 2xxx erforderlich |
| #16 | environment.bash | Komponentenbenutzer | group-writable |
Schweregrad: FAIL nur bei Besitz des Datenverzeichnisses (#13 und #15). Alle anderen Linux-Verzeichnisüberprüfungen (#11, #12, #14, #14a, #15a–c, #16) geben bei Nichtübereinstimmung von Besitz und Modus WARN aus, da das Installationsprogramm nach der Installation das Besitzrecht während des Upgrades erneut anwendet. WARN, wenn der Berechtigungsmodus falsch, der Besitz jedoch korrekt ist.
Verzeichnisbesitz und Berechtigungen für Windows
| Prüfung | Name | Schweregrad |
| #11 | Config dir ACLs | FAIL, wenn Dienstbenutzer nicht über FullControl verfügt |
| #12 | Log dir ACLs | FAIL, wenn Dienstbenutzer nicht über Modify-Rechte verfügt |
| #13 | Data dir ACLs (RMT-Server) | FAIL, wenn Dienstbenutzer nicht über FullControl bei PG/RMQ-Datenverzeichnissen verfügt |
| #14 | Prereqs dir ACLs (RMT-Server) | WARN, wenn ReadAndExecute fehlt (als Empfehlung – bei jedem Upgrade werden die erforderlichen MSIs neu installiert, und die Post-Installationsaktionen wenden die ACLs erneut an) |
| #15 | SSL cert dir ACLs (RMT-Server) | FAIL, wenn Dienstbenutzer nicht über FullControl verfügt |
| #16a | Identität des Dienstbenutzers | PASS (informativ – zeigt, unter welchem Benutzer der Dienst ausgeführt wird) |
| #16b | SeServiceLogonRight privilege | INFO, wenn gefunden; WARN, wenn nicht gefunden oder secedit fehlschlägt |
| #16c | Dienstbenutzer-ACLs auf RMT-Verzeichnissen | FAIL, wenn Dienstbenutzer nicht über die erforderlichen Rechte verfügt |
Datenbank (PostgreSQL)
Alle PostgreSQL-Prüfungen werden nur auf dem RMT-Server ausgeführt.
| Prüfungs-ID | Name | Erfordert Option db-password | Fehler (FAIL) / Warnung (WARN) |
| #17 | PG-Dienst | Nein | FAIL Lokaler Dienst angehalten UND deaktiviert |
| #18 | Port 5555 lauscht | Nein | WARN (Sicherheitsgruppe / VPC / RDS-Hinweis) lauscht nicht |
| #19 | DB Connection | Ja | WARN Keine Verbindung zur internen Datenbank möglich (SSL-, Kennwort- oder Netzwerkproblem) |
Messaging (RabbitMQ)
Die Messaging-Prüfungen (RabbitMQ) werden nur auf dem RMT-Server ausgeführt.
| Prüfungs-ID | Name | Fehler (FAIL) / Warnung (WARN) |
| #22 | RMQ-Dienst | FAIL Lokaler Dienst angehalten UND deaktiviert |
| #24 | Warteschlangenrückstand | WARN Eine Warteschlange mit > 10.000 Nachrichten |
| #25 | RabbitMQ-Benutzer | WARN, wenn der standardmäßige guest-Benutzer noch vorhanden ist |
| #26 | Aktive Verbindungen | Nur INFO. Meldet die Anzahl der aktiven Verbindungen |
| #27 | Erlang-Cookie zugänglich | WARN, wenn die Cookie-Datei fehlt, wenn Berechtigungen falsch sind (sollte Modus 400 oder 600 sein) |
| #27a | ERLANG_HOME set | WARN (nur Windows), wenn „ERLANG_HOME“ nicht festgelegt oder der Pfad nicht vorhanden ist. |
| #27b | SSL-Gültigkeit | FAIL Zertifikate sind abgelaufen |
| #27c | Datenträger-Alarm | FAIL < 10 GB frei auf RMQ-Partition (Upgrade bleibt hängen) |
| #45 | Zertifikatsverzeichnis ausgefüllt | WARN, wenn das Zertifikatsverzeichnis zwar vorhanden, aber leer ist oder erwartete Zertifikatsdateien fehlen (Serverzertifikat, Schlüssel, CA-Zertifikat) |
Netzwerk und Konfiguration
| Prüfungs-ID | Name | Fehler (FAIL) / Warnung (WARN) |
| #28a/b | Agent-Master-Kommunikation | WARN Der Agent kann den Master unter 5671, 5672, 80 oder 443 nicht erreichen. |
| #33-35 | JSON/Bash Config | FAIL Fehlende oder ungültige config.json, setup.json oder environment.bash |
| #36a | Bekannte fehlerhafte Version | FAIL Aktuelle Version ist 2025.3.0 (Upgrade für Regressionsblöcke) |
Dienste und Backup
| Prüfungs-ID | Name | Fehler (FAIL) / Warnung (WARN) |
| #38 | Alle RMT-Dienste werden ausgeführt | WARN für jeden gestoppten Dienst |
| #38a | Hängengebliebene Prozesse | FAIL Verbliebene tabrmt-*-Prozesse gefunden, nachdem die Dienste angehalten wurden |
| #39 | Im Hintergrund ausgeführter Prozessor | WARN, wenn der Hostprozess nicht ausgeführt wird |
| #40 | Sicherungserinnerung vor dem Upgrade | WARN als Erinnerung daran, die Konfiguration vor dem Upgrade zu sichern |
| #41 | Topologie | Nur INFO. Meldet den Master/Agent-Knotentyp und (mit DB) die Anzahl der aktiven Agenten |
| #42 | Inventar der Komponentenversionen | Nur INFO. Meldet RMT-, PostgreSQL-, RabbitMQ- und OpenSSL-Versionen |
| #43 | Zusammenfassung der technischen Daten des Computers | Nur INFO. Meldet Betriebssystem, CPU-Kerne, RAM, freien Festplattenspeicherplatz |
Post-Upgrade-Integritätsprüfungen
Diese Überprüfungen werden nach dem Upgrade ausgeführt. Sie sind nicht blockierend, und Fehler stoppen das Upgrade nicht, weisen aber auf Probleme nach der Installation hin.
| Prüfungs-ID | Name | Komponente | Fehler (FAIL) / Warnung (WARN) |
| #1a-d | Dienste und Prozesse | RMT Server, Agent | FAIL Haupt-, PG- oder RMQ-Dienste werden nicht ausgeführt |
| #2 | Host-Supervisor-Prozess | RMT Server, Agent | WARN Host-Supervisor-Prozess fehlt (keine automatische Wiederherstellung) |
| #3a-b | Integrität der Konfigurationsdatei | RMT Server, Agent | FAIL, falls fehlender oder ungültiger JSON |
| #4a-b | Dateiberechtigungen | RMT Server, Agent | FAIL Konfigurations-/Protokollverzeichnisse können vom Dienstkonto nicht gelesen/beschrieben werden |
| #5a-d | Port lauscht | RMT Server | FAIL Web (443), AMQP (5672) oder DB (5555) lauschen nicht |
| #6 | PostgreSQL-Konnektivität | RMT Server | FAIL PostgreSQL akzeptiert keine Verbindungen |
| #7 | RabbitMQ-Status | RMT-Server | SKIP, wenn extern. FAIL, nachdem alle Wiederholungen ausgeschöpft sind. |
| #8a | Konsumenten in Warteschlange | RMT Server | WARN Backlog vorhanden, aber keine aktiven Konsumenten (Master-Worker-Prozesse getrennt) |
| #9 | RMQ-Alarme | RMT Server | FAIL Alarme für aktiven Arbeitsspeicher oder Festplattenressource erkannt |
| #10 | RabbitMQ SSL-Zertifikat | RMT-Server | FAIL, wenn Zertifikat abgelaufen ist. WARN, wenn Zertifikate innerhalb von 30 Tagen ablaufen |
| #11 | FIPS-Übereinstimmung | RMT Server, Agent | FAIL Der FIPS-Status des Betriebssystems stimmt nicht mit isFIPSEnabled config überein |
| #12 | HTTP-Antwort des Webservers | RMT-Server | Sendet eine HTTP GET-Abfrage an https://localhost:<port>/authentication/login. PASS auf 200 oder 302. FAIL bei Verbindungsverweigerung/Zeitüberschreitung. WARN bei anderen Fehlern. |
| #13 | Gültigkeit des HTTPS-Zertifikats | RMT Server | FAIL Webserver-TLS-Zertifikat ist abgelaufen |
| #14a-d | Datenträgerspeicherplatz | RMT Server, Agent | FAIL < 1 GB frei. WARN < 5 GB frei |
| #15 | Kürzliche Protokollfehler | RMT Server, Agent | FAIL SCHWERWIEGENDE Fehler in Protokollen. WARN KRITISCHE FEHLER |
| #16 | RMT-Status | RMT Server, Agent | FAIL rmtadmin-Status gibt Fehlermuster zurück |
| #17 | Agentenprotokollverlauf | Agent | Überprüft die Log-Tracking-Dateien (.history, .json) im Agenten-Datenverzeichnis. WARN, wenn Dateien nicht lesbar oder beschädigt sind |
| #18a-f | Inventarversion | RMT Server, Agent | INFO über RMT-Version, PostgreSQL-Version, RabbitMQ-Version, Erlang/OTP-Version, .NET Runtime (Windows) / OS (Linux), OS-Version (Windows) / Kernel (Linux) |
Exit Codes der Integritätsprüfung
Anhand der folgenden Exit Codes können Sie die Ergebnisse der Pre-Upgrade- und Post-Upgrade-Integritätsprüfungsskripte interpretieren.
Pre-Upgrade-Skripte
| Exit Code | Status | Upgrade-Verhalten |
| 0 | READY TO UPGRADE | Upgrade wird fortgesetzt |
| 1 | UPGRADE WITH CAUTION | Upgrade wird fortgesetzt; Warnungen überprüfen |
| 2 | Kein Upgrade durchführen | Upgrade abgebrochen |
| 3 | Skriptfehler | Ausführungsumgebung prüfen |
Post-Upgrade-Skripte
| Exit Code | Status |
| 0 | ALL PASSED |
| 1 | WARNINGS PRESENT |
| 2 | CRITICAL FAILURES |
Änderungen des InstallerContext-Schweregrads
Bei Verwendung von -InstallerContext während automatischer Windows-MSI-Upgrades verhalten sich die folgenden Prüfungen anders als im manuellen Standardfall. Das Standardverhalten (nicht InstallerContext) ist für die Zustände „stopped but not Disabled“ (Angehalten, aber nicht deaktiviert) / „port not listening“ (Port lauscht nicht) *bereits* WARN; FAIL ist für „Stopped+Disabled“ (Angehalten + deaktiviert) reserviert. Unter -InstallerContext wird sogar der „Disabled“-Zweig als WARN ausgegeben, sodass ein laufendes, vom Installationsprogramm gesteuertes Upgrade nicht durch einen temporären Zustand blockiert wird, der ohnehin vom Installationsprogramm selbst korrigiert wird.
| Prüfung | Name | Standard | InstallerContext |
| #17 | PG-Dienst | WARN, wenn angehalten, FAIL, wenn angehalten und deaktiviert, INFO, wenn alle angehalten wurden | WARN |
| #18 | PG-Port | WARN, wenn nicht lauscht, INFO, wenn alle Dienste angehalten wurden | WARN |
| #22 | RabbitMQ-Dienst | WARN, wenn angehalten , FAIL, wenn angehalten und deaktiviert, INFO, wenn alle angehalten wurden | WARN |
| #23 | Port 5672 (AMQP) | WARN, wenn nicht lauscht, INFO, wenn alle Dienste angehalten wurden | WARN |
| #38a | Hängengebliebene RMT-Prozesse | (siehe Beschreibung der Prüfung) | SKIP (Installationsprogramm verwaltet den Prozesslebenszyklus) |
Pre-Upgrade-Schwellenwerte
| Schwellenwert | RMT Server | Agent | Einheit |
| FAIL bei Festplattenspeicherplatz | 20 | 5 | GB frei |
| WARN bei Festplattenspeicherplatz | 50 | 10 | GB frei |
| FAIL bei temporärem Verzeichnis | 5 | 5 | GB frei |
| WARN bei temporärem Verzeichnis | 10 | 10 | GB frei |
| FAIL bei RAM | 8 | 4 | GB |
| WARN bei RAM | 16 | 8 | GB |
| FAIL bei CPU | 4 | 2 | Kerne |
| WARN bei CPU | 8 | 4 | Kerne |
| FAIL bei Datenbankgröße | 500 | – | GB |
| WARN bei Datenbankgröße | 200 | – | GB |
| FAIL bei Hangfire-Schema | 10 | – | GB |
| WARN bei Hangfire-Schema | 1 | – | GB |
| FAIL bei WAL-Verzeichnis (Windows) | 10 | – | GB |
| FAIL bei WAL-Verzeichnis (Windows) | 2 | – | GB |
| FAIL bei WAL-Verzeichnis (Linux) | 10 | – | GB |
| WARN bei Mnesia-Verzeichnis | 5 | – | GB |
| FAIL bei RabbitMQ-Datenträgeralarm | 10 | – | GB frei |
| WARN bei Warteschlangenrückstand | 10.000 | – | Nachrichten |
| WARN bei Ablauf des Zertifikats | 30 | 30 | Tage |
| WARN bei Bereinigungs-Aufbewahrung | 180 | – | Tage |
| WARN bei Anteil toter Tupel | 20 | – | Prozent |
| Agent-Heartbeat veraltet | 15 | – | Minuten |
| WARN bei Alter des Netzwerktreibers | 3 | – | Jahre |
| WARN bei Größe des Protokollverzeichnisses | 5 | 5 | GB |
| WARN bei Größe des Protokollverzeichnisses (schwerwiegend) | 20 | 20 | GB |
Post-Upgrade-Schwellenwerte
| Schwellenwert | Wert | Einheit |
| FAIL bei Festplattenspeicherplatz | 1 | GB frei |
| WARN bei Festplattenspeicherplatz | 5 | GB frei |
| WARN bei Ablauf des Zertifikats | 30 | Tage |
| WARN bei Warteschlangenrückstand | 10.000 | Nachrichten |
| Zeitfenster für Log-Scan | 60 | Minuten |
| RabbitMQ-Startwiederholung | 6 Versuche x 5 Sek. | Insg. 30 Sekunden |
Unterstützte Komponenten-Mindestversionen
| Komponente | Mindestversion |
| RabbitMQ | >= 3.10.10 |
| Agent-Version | >= 2023.1.0 |
Automatisierung und CI/CD-Integration
Unter 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
```
Unter Windows:
```powershell
# Windows
.\rmt-pre-upgrade-check.ps1 -Component master
if ($LASTEXITCODE -eq 2) {
Write-Error "BLOCKED: Fix critical issues before upgrading"
exit 1
}
```
Referenz für das Installationsverzeichnis
Informationen zum manuellen Aufrufen der zugrunde liegenden Diagnosedienstprogramme oder zum Überprüfen Ihrer Installationsstruktur finden Sie in den plattformspezifischen Verzeichnispfaden:
Linux-Verzeichnisstruktur
```
/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
```
Windows-Verzeichnisstruktur
```
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root
C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root
```
Erforderliche Netzwerkports
| Port | Dienst | Richtung |
| 80 | RMT-Webschnittstelle (HTTP) | Eingehend |
| 443 | RMT-Webschnittstelle (HTTPS) | Eingehend |
| 5672 | RabbitMQ-AMQP | Eingehender Datenverkehr auf dem RMT-Server |
| 5671 | RabbitMQ AMQP über TLS | Eingehender Datenverkehr auf dem RMT-Server |
| 15672 | RabbitMQ-Verwaltungsoberfläche | Lokal |
| 25672 | RabbitMQ-Zwischenknoten | Lokal |
| 5555 | Internes PostgreSQL | Lokal |
