Aggiornamento di RMT: informazioni tecniche di riferimento

Questa sezione è una guida tecnica di riferimento per le soglie operative, i percorsi di sistema e le porte di rete controllati durante il processo di aggiornamento. Utilizza queste tabelle per diagnosticare rapidamente gli errori di convalida e allineare l’ambiente alle linee base RMT richieste.

Nota: per allinearci con i nostri valori aziendali di uguaglianza, abbiamo aggiornato il nome di RMT Master in RMT Server. In alcuni casi, i percorsi di installazione e i comandi di RMT Server possono utilizzare il termine “master” invece di “server”. Potrai quindi continuare a vedere il termine nei comandi e nelle opzioni dell’interfaccia a riga di comando, nelle cartelle di installazione, nei file di configurazione e in altri casi. Per maggiori informazioni, consulta Informazioni sulla Guida di Tableau(Il collegamento viene aperto in una nuova finestra).

Controlli di integrità pre-aggiornamento

Il controllo di integrità pre-aggiornamento esamina RMT Server o l’host agente mentre l’installazione esistente è ancora intatta. Controlla ad esempio i servizi in esecuzione, e il database accessibile, e genera un report PASS/FAIL/WARN dettagliato. Esegue oltre 80 controlli individuali su risorse di sistema, account, autorizzazioni sui file, PostgreSQL, RabbitMQ, rete, file di configurazione e servizi RMT. Nella tabella che segue sono elencati i controlli eseguiti prima dell’aggiornamento. Se un elemento restituisce lo stato FAIL (codice di uscita 2), l’aggiornamento viene annullato.

Sistema e hardware

ID controlloNome PiattaformeCondizione di errore (FAIL)/avviso (WARN)
#1Sistema operativoLinux, WindowsWARN: la versione del sistema operativo non è presente nell’elenco consentiti del controllo preliminare. L’elenco supportato è 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
#2Spazio su discoLinux, WindowsFAIL: RMT Server con < 20 GB liberi o agente con < 5 GB liberi. WARN: RMT Server con < 50 GB liberi o agente con < 10 GB liberi
#2aTipo di discoLinux, WindowsINFO: indica se l’unità è SSD o HDD
#3

RAM

Linux, WindowsWARN: RMT Server con < 8 GB (minimo) o agente con < 4 GB (minimo)
#4Core CPULinux, WindowsWARN: RMT Server con < 8 GB (minimo) o agente con < 4 GB (minimo)
#4aIstruzioni CPULinux, WindowsFAIL (Linux): sse4_2 o popcnt mancante. WARN (Windows): CPU precedente rilevata.
#4bVC++ RedistWindowsFAIL: Visual Studio 2022 C++ Redistributable mancante.
#4cOpenSSL DLLsWindowsINFO: verifica la presenza di libcrypto-3-x64.dll e libssl-3-x64.dll
#5Tempo di attività del sistemaLinux, WindowsINFO: nota se < 10 minuti (riavvio molto recente) o > 90 giorni (patch in sospeso)
#6Systemd in esecuzioneLinuxFAIL: systemd non in esecuzione, PASS: in esecuzione o danneggiato
#7Modalità FIPSLinux, WindowsFAIL (Windows): abilitata nel Registro di sistema, PASS: modalità FIPS disabilitata. WARN (Linux): mancata corrispondenza con config.json. PASS: corrispondenza tra sistema operativo e configurazione
#7aVersione di PowerShellWindowsINFO: versione di PowerShell
#7bImpostazioni locali del sistemaWindowsINFO: informazioni delle impostazioni locali del sistema
#7cIntegrità WMIWindowsWARN: il repository WMI è incoerente

 

Account e autorizzazioni

ID controlloNome PiattaformaCondizione di errore (FAIL)/avviso (WARN)
#8Account di servizioLinux, WindowsFAIL: account del servizio RMT o del servizio Windows non trovato
#9Appartenenza a gruppiLinuxFAIL: gruppi di servizi obbligatori (ad esempio, rmtmasterapp, rmtmasterconfig e così via) mancanti
#10Systemd utenteLinuxFAIL: il daemon/linger systemd utente non è attivo
#44pamtester installatoLinuxWARN se non installato. Per risolvere il problema, installa yum install pamtester o apt install libpam-runtime

Proprietà e autorizzazioni sulle directory per Linux

ID controlloDirectory Expected Owner:GroupModalità prevista
#11Directory di configurazionetabrmt-master:rmtmasterconfig2775
#12Directory logtabrmt-master:rmtmasterlogs2775
#13Directory dati (+ sottodirectory PG/RMQ)Appropriato per il componente2775
#14Directory prerequisitiroot o utente componente755
#14aFile rabbitmq-defaultsGroup-writable obbligatoriog+w
#15Directory certificato SSLtabrmt-master:rmtopenssl2775
#15aHome directoryUtente componente770
#15b/etc/profile.d/tabrmt-*.shrootPredefinito
#15csetgid bit directory di configurazione--2xxx obbligatorio
#16environment.bashUtente componentegroup-writable

Gravità: FAIL per la proprietà solo per l’insieme data-dir (#13 e #15). Tutti gli altri controlli di Linux sulle directory (#11, #12, #14, #14a, #15a–c, #16) generano WARN in caso di mancata corrispondenza di proprietà o modalità perché la fase post-installazione del programma di installazione riapplica la proprietà durante l’aggiornamento. WARN se la modalità di autorizzazione non è corretta, ma la proprietà è corretta.

Proprietà e autorizzazioni per le directory in Windows

Controllo NomeGravità
#11ACL directory di configurazioneFAIL se l’utente del servizio non dispone dell’autorizzazione FullControl (Controllo completo)
#12ACL directory logFAIL se l’utente del servizio non dispone di dell’autorizzazione Modify (Modifica)
#13Directory dati ACL (RMT Server)FAIL se l’utente del servizio non dispone dell’autorizzazione FullControl (Controllo completo) per le directory dati PG/RMQ
#14ACL directory prerequisiti (RMT Server)WARN se manca ReadAndExecute (avviso: ogni aggiornamento reinstalla i file MSI prerequisiti e le relative azioni post-installazione riapplicano gli ACL)
#15ACL directory certificati SSL (RMT Server)FAIL se l’utente del servizio non dispone dell’autorizzazione FullControl (Controllo completo)
#16aIdentità utente del servizioPASS (INFO. Mostra l’utente con cui viene eseguito il servizio)
#16bPrivilegio SeServiceLogonRightINFO se trovato; WARN se non viene trovato o secedit non riesce
#16cACL utente servizio per le directory RMTFAIL se l’utente del servizio non dispone dei diritti richiesti

 

Database (PostgreSQL)

Tutti i controlli PostgreSQL vengono eseguiti solo su RMT Server.

ID controlloNome Richiede l’opzione --db-password Condizione di errore (FAIL)/avviso (WARN)
#17Servizio PGNoFAIL Servizio locale arrestato E disabilitato
#18Porta 5555 in ascoltoNoWARN (suggerimento gruppo di sicurezza/VPC / RDS) non in ascolto
#19DB ConnectionWARN Impossibile connettersi al database interno (problema con SSL, password o rete)

 

Messaggistica (RabbitMQ)

I controlli di messaggistica (RabbitMQ) vengono eseguiti solo su RMT Server.

ID controlloNome Condizione di errore (FAIL)/avviso (WARN)
#22Servizio RMQFAIL Servizio locale arrestato E disabilitato
#24Backlog codaWARN in caso di coda con più di 10.000 messaggi
#25Utenti RabbitMQWARN se l’utente predefinito guest esiste ancora
#26Connessioni attiveSolo INFO. Indica il conteggio delle connessioni attive
#27Cookie Erlang accessibileWARN se manca il file cookie, se le autorizzazioni sono errate (la modalità deve essere 400 o 600)
#27aERLANG_HOME impostatoWARN (solo Windows) se ‘ERLANG_HOME’ non è impostato o il percorso non esiste.
#27bValidità SSLFAIL se i certificati sono scaduti
#27cAllarme discoFAIL se < 10 GB liberi nella partizione RMQ (l’aggiornamento si bloccherà)
#45Directory dei certificati popolataWARN se la directory dei certificati esiste ma è vuota o mancano i file di certificato previsti (certificato server, chiave, certificato dell’autorità di certificazione)

Rete e configurazione

ID controlloNome Condizione di errore (FAIL)/avviso (WARN)
#28a/bComunicazioni agente-masterWARN L’agente non riesce a raggiungere il master attraverso la porta 5671, 5672, 80 o 443
#33-35JSON/Bash ConfigFAIL config.json, setup.json o environment.bash mancante o non valido
#36aVersione notoriamente non validaFAIL La versione corrente è 2025.3.0 (la regressione blocca l’aggiornamento)

Servizi e backup

ID controlloNome Condizione di errore (FAIL)/avviso (WARN)
#38Tutti i servizi RMT in esecuzioneWARN per ogni servizio arrestato
#38aProcessi strandedFAIL Processi tabrmt-* persistenti trovati dopo l’arresto dei servizi
#39Processore in background in esecuzioneWARN se il processo host non è in esecuzione
#40Promemoria per il backup pre-aggiornamentoWARN per ricordare di eseguire il backup della configurazione pre-aggiornamento
#41TopologiaSolo INFO. Indica il tipo di nodo master/agente e (con il database) il conteggio degli agenti attivi
#42Inventario delle versioni del componenteSolo INFO. Indica le versioni di RMT, PostgreSQL, RabbitMQ e OpenSSL
#43Riepilogo delle specifiche del computerSolo INFO. Indica il sistema operativo, i core della CPU, la RAM, lo spazio libero su disco

 

Controlli di integrità post-aggiornamento

Questi controlli vengono eseguiti dopo l’aggiornamento. Non causano blocchi e gli errori non interrompono l’aggiornamento, ma indicano problemi post-installazione.

ID controlloNome ComponenteCondizione di errore (FAIL)/avviso (WARN)
#1a-dServizi e processiRMT Server, AgentFAIL I servizi principale, PG o RMQ non sono in esecuzione
#2Processo supervisore hostRMT Server, AgentWARN Processo supervisore host mancante (senza ripristino automatico)
#3a-bIntegrità del file di configurazioneRMT Server, AgentFAIL in caso di JSON mancante o non valido
#4a-bAutorizzazioni fileRMT Server, AgentFAIL Directory di configurazione o log non leggibili/scrivibili dall’account di servizio
#5a-dPorta in ascoltoRMT ServerFAIL Porta Web (443), AMQP (5672) o DB (5555) non in ascolto
#6Connettività PostgreSQLRMT ServerFAIL se PostgreSQL non accetta connessioni
#7Stato RabbitMQRMT ServerSKIP se esterno. FAIL dopo che tutti i tentativi sono stati esauriti.
#8aUtilizzatori codaRMT ServerWARN Backlog esistente ma nessun utilizzatore attivo (worker master disconnessi)
#9Allarmi RMQRMT ServerFAIL Rilevati allarmi attivi di risorse memoria o disco
#10Certificato SSL RabbitMQRMT ServerFAIL se il certificato è scaduto. WARN se il certificato scade entro 30 giorni
#11Corrispondenza FIPSRMT Server, AgentFAIL Lo stato FIPS del sistema operativo non corrisponde alla configurazione isFIPSEnabled
#12Risposta HTTP del server WebRMT ServerInvia HTTP GET a ‘https://localhost:<port>/authentication/login’. PASS per 200 o 302. FAIL in caso di connessione rifiutata o timeout. WARN in caso di altri errori.
#13Validità del certificato HTTPSRMT ServerFAIL se il certificato TLS del server Web è scaduto
#14a-dSpazio su discoRMT Server, AgentFAIL: < 1 GB libero. WARN: < 5 GB liberi
#15Errori log recentiRMT Server, AgentFAIL se sono presenti errori FATAL nei log. WARN: in caso di errori CRITICAL
#16Stato RMTRMT Server, AgentFAIL Lo stato di rmtadmin restituisce i modelli di errore
#17Cronologia log AgentAgenteControlla i file di tracciamento dei log (.history, .json) nella directory dei dati dell’agente. WARN se i file sono illeggibili o danneggiati
#18a-fVersione inventarioRMT Server, AgentINFO sulla versione di RMT, la versione di PostgreSQL, RabbitMQ, Erlang/OTP, su .NET Runtime (Windows), sul sistema operativo (Linux), sulla versione del sistema operativo (Windows), sul Kernel (Linux)

Codici di uscita del controllo dell’integrità

Utilizza i codici di uscita seguenti per interpretare i risultati degli script di controllo dello stato di integrità pre-aggiornamento e post-aggiornamento.

Script pre-aggiornamento

Codice di uscitaStato Comportamento dell’aggiornamento
0READY TO UPGRADEL’aggiornamento procede
1UPGRADE WITH CAUTIONL’aggiornamento procede; Esaminare gli avvisi
2Non eseguire l’aggiornamentoAggiornamento annullato
3Errore scriptControllare l’ambiente di esecuzione

Script post-aggiornamento

Codice di uscitaStato
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL FAILURES

Modifiche di gravità con InstallerContext

Se eseguiti con -InstallerContext durante gli aggiornamenti MSI Windows automatici, i controlli che seguono si comportano in modo diverso dall’impostazione predefinita manuale. Il comportamento predefinito (senza InstallerContext) è *già* WARN per gli stati “arrestato ma non disabilitato” o ”porta non in ascolto”. FAIL è riservato ad “arrestato E disabilitato”. Con -InstallerContext, anche il tipo di problema ‘disabilitato’ viene segnalato come WARN in modo che un aggiornamento in corso guidato dal programma di installazione non venga mai bloccato da uno stato temporaneo che il programma di installazione sta per correggere.

Controllo Nome PredefinitoInstallerContext
#17Servizio PGWARN se arrestato, FAIL se arrestato e disabilitato, INFO se tutto è stato arrestatoWARN
#18Porta PGWARN se non in ascolto, INFO se tutti i servizi sono stati arrestatiWARN
#22Servizio RabbitMQWARN se arrestato, FAIL se arrestato e disabilitato, INFO se tutto è stato arrestatoWARN
#23Port 5672 (AMQP)WARN se non in ascolto, INFO se tutti i servizi sono stati arrestatiWARN
#38aProcessi RMT stranded(consulta la descrizione del controllo)SKIP (il programma di installazione gestisce il ciclo di vita del processo)

Soglie pre-aggiornamento

Soglia RMT Server AgenteUnità
FAIL per lo spazio su disco205Indipendente da GB
WARN per lo spazio su disco5010Indipendente da GB
FAIL directory temporanea55Indipendente da GB
WARN directory temporanea1010Indipendente da GB
FAIL RAM84GB
WARN RAM168GB
FAIL CPU42core
WARN CPU84core
FAIL dimensione database500-GB
WARN dimensione database200-GB
FAIL schema Hangfire10-GB
WARN schema Hangfire1-GB
FAIL directory WAL (Windows)10-GB
FAIL directory WAL (Windows)2-GB
FAIL directory WAL (Linux)10-GB
WARN directory Mnesia5-GB
FAIL allarme disco RabbitMQ10-Indipendente da GB
WARN backlog coda10.000-messaggi
WARN scadenza certificato3030giorni
WARN conservazione prima della pulizia180-giorni
WARN rapporto tuple morte20-per cento
Heartbeat agente non aggiornato15-minuti
WARN età del driver di rete3-anni
WARN Dimensione della directory log55GB
WARN Dimensione della directory log (grave)2020GB

Soglie post-aggiornamento

SogliaValore Unità
FAIL per lo spazio su disco1Indipendente da GB
WARN per lo spazio su disco5Indipendente da GB
WARN scadenza certificato30giorni
WARN backlog coda10.000messaggi
Finestra scansione log60minuti
Tentativi di avvio di RabbitMQ6 tentativi x 5 secondi30 secondi in totale

 

Versioni minime dei componenti supportate

ComponenteVersione minima
RabbitMQ>= 3.10.10
Versione agente>= 2023.1.0

Automazione e integrazione CI/CD

Per 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
```

Per Windows:

```powershell
# Windows
.\rmt-pre-upgrade-check.ps1 -Component master
if ($LASTEXITCODE -eq 2) {
Write-Error "BLOCKED: Fix critical issues before upgrading"
exit 1
}
```

 

Riferimento per le directory di installazione

Per richiamare manualmente le utilità di diagnostica sottostanti o verificare la struttura di installazione, fai riferimento ai percorsi di directory specifici della piattaforma:

Struttura delle directory 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

```

Struttura delle directory Windows

```

C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root

C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root

```

Porte di rete richieste

PortaServizio Direzione
80Interfaccia utente Web RMT (HTTP)In entrata
443Interfaccia utente Web RMT (HTTPS)In entrata
5672AMQP RabbitMQIn ingresso in RMT Server
5671AMQP over TLS RabbitMQIn ingresso in RMT Server
15672Interfaccia utente di gestione RabbitMQLocale
25672Internodo RabbitMQLocale
5555PostgreSQL internoLocale
Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!