Actualización de RMT: Referencia técnica
Esta sección es una guía de referencia técnica sobre los umbrales operativos, las rutas del sistema y los puertos de red comprobados durante el proceso de actualización. Utilice estas tablas para diagnosticar rápidamente los errores de validación y alinear su entorno con las líneas de base de RMT requeridas.
Nota: Para alinearnos con los valores de igualdad de nuestra empresa, hemos actualizado RMT Master a RMT Server. En algunos casos, los comandos y las rutas de instalación del servidor de RMT pueden usar el término “master” en lugar de “server”. Por lo tanto, puede seguir viendo los términos en los comandos y opciones de la CLI, las carpetas de instalación y los archivos de configuración y otras instancias. Para obtener más información, consulte Acerca de la ayuda de Tableau(El enlace se abre en una ventana nueva).
Comprobaciones de estado previas a la actualización
La comprobación de estado previa a la actualización inspecciona el servidor de RMT o el host del agente mientras la instalación existente aún está intacta, como los servicios en ejecución, la base de datos accesible y genera un informe detallado de PASS/FAIL/WARN. Ejecuta más de 80 comprobaciones individuales en recursos del sistema, cuentas, permisos de archivos, PostgreSQL, RabbitMQ, redes, archivos de configuración y servicios RMT. En la siguiente tabla se recogen las comprobaciones realizadas antes de la actualización. Si algún elemento devuelve un estado FAIL (Código de salida 2), se cancela la actualización.
Sistema y hardware
| Comprobar ID | Nombre | Plataformas | Condición de error (FAIL)/advertencia (WARN) |
| #1 | Sistema operativo | Linux, Windows | WARN La versión del sistema operativo no está en la lista de admisión previa a la comprobación. La lista admitida es 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 | Espacio en disco | Linux, Windows | FAIL Servidor de RMT tiene < 20 GB o el agente < 5 GB libres. WARN Servidor de RMT tiene < 50 GB o el agente < 10 GB libres |
| #2a | Tipo de disco | Linux, Windows | INFO Informa si la unidad es SSD o HDD |
| #3 | RAM | Linux, Windows | WARN Servidor de RMT < 8 GB (mínimo) o el agente < 4 GB (mínimo) |
| #4 | Núcleos de CPU | Linux, Windows | WARN Servidor de RMT < 8 GB (mínimo) o el agente < 4 GB (mínimo) |
| #4a | Instrucciones de CPU | Linux, Windows | FAIL (Linux): Falta sse4_2 o popcnt. WARN (Windows): Se ha detectado una CPU más antigua. |
| #4b | VC++ Redist | Windows | FAIL Falta Visual Studio 2022 C++ Redistributable. |
| #4c | OpenSSL DLLs | Windows | INFO Comprueba si hay libcrypto-3-x64.dll y libssl-3-x64.dll |
| #5 | Tiempo de actividad del sistema | Linux, Windows | INFO: Notas si < 10 minutos (reboot muy reciente) o > 90 días (parches pendientes) |
| #6 | Systemd en ejecución | Linux | FAIL systemd no se está ejecutando, PASS: en ejecución o degradado |
| #7 | Modo FIPS | Linux, Windows | FAIL (Windows): habilitado en el registro, PASS FIPS deshabilitado. WARN (Linux) No coincide con config.json. PASS Coincidencia del sistema operativo y la configuración |
| #7a | Versión de PowerShell | Windows | INFO Versión de PowerShell |
| #7b | Configuración regional del sistema | Windows | INFO Información de la configuración regional del sistema |
| #7c | Estado de WMI | Windows | WARN El repositorio WMI no es coherente |
Cuentas y permisos
| Comprobar ID | Nombre | Plataforma | Condición de error (FAIL)/advertencia (WARN) |
| #8 | Cuenta de servicio | Linux, Windows | FAIL No se encontró la cuenta de servicio de RMT o el servicio de Windows |
| #9 | Pertenencia a grupos | Linux | FAIL Faltan los grupos de servicios necesarios (por ejemplo, rmtmasterapp, rmtmasterconfig, etc.) |
| #10 | Usuario Systemd | Linux | FAIL El usuario systemd daemon/linger no está activo |
| #44 | pamtester instalado | Linux | WARN si no está instalado. Para solucionar este problema, instale yum install pamtester o apt install libpam-runtime |
Propiedad de directorios y permisos para Linux
| Comprobar ID | Directorio | Expected Owner:Group | Modo esperado |
| #11 | Directorio de configuración | tabrmt-master:rmtmasterconfig | 2775 |
| #12 | Directorio de registro | tabrmt-master:rmtmasterlogs | 2775 |
| #13 | Directorio de datos (+ subdirectorios PG/RMQ) | Component-appropriate | 2775 |
| #14 | Directorios de requisitos previos | root o usuario componente | 755 |
| #14a | archivo rabbitmq-defaults | Se requiere escritura grupal | g+w |
| #15 | Directorio de certificado SSL | tabrmt-master:rmtopenssl | 2775 |
| #15a | Directorio de inicio | Usuario componente | 770 |
| #15b | /etc/profile.d/tabrmt-*.sh | root | predeterminado |
| #15c | Config dir setgid bit | -- | Se requiere 2xxx |
| #16 | environment.bash | Usuario componente | group-writable |
Gravedad: FAIL en la propiedad solo para el conjunto data-dir (#13 y #15). Todas las demás comprobaciones de directorios de Linux (#11, #12, #14, #14a, #15a–c, #16) emiten WARN en caso de discrepancias de propiedad/modo porque la función posterior a la instalación del instalador vuelve a aplicar la propiedad durante la actualización. WARN si el modo de permiso es incorrecto pero la propiedad es correcta.
Propiedad del directorio y permisos para Windows
| Comprobar | Nombre | Gravedad |
| #11 | ACL de directorio de configuración | FAIL si el usuario del servicio carece de FullControl |
| #12 | ACL de directorio de registro | FAIL si el usuario del servicio carece de Modify |
| #13 | ACL de directorio de datos (servidor de RMT) | FAIL si el usuario del servicio carece de FullControl en los directorios de datos PG/RMQ |
| #14 | ACL de dir de requisitos previos (servidor de RMT) | WARN si falta ReadAndExecute (Aviso: Cada actualización reinstala los MSI anteriores y sus acciones posteriores a la instalación vuelven a aplicar las ACL) |
| #15 | ACL de directorio de certificado SSL (RMT Server) | FAIL si el usuario del servicio carece de FullControl |
| #16a | Identidad de usuario del servicio | PASS (informativo: muestra el usuario con el que se ejecuta el servicio) |
| #16b | Privilegio SeServiceLogonRight | INFO si se encuentra. WARN si no se encuentra o secedit falla |
| #16c | ACL de usuario de servicio en directorios de RMT | FAIL si el usuario del servicio carece de los derechos necesarios |
Base de datos (PostgreSQL)
Todas las comprobaciones de PostgreSQL se ejecutan solo en el servidor de RMT.
| Comprobar ID | Nombre | Requiere la opción --db-password. | Condición de error (FAIL)/advertencia (WARN) |
| #17 | Servicio PG | No | FAIL Servicio local detenido y deshabilitado |
| #18 | Puerto 5555 escuchando | No | WARN (sugerencia de grupo de seguridad/VPC / RDS) No escucha |
| #19 | DB Connection | Sí | WARN No es posible conectarse a la base de datos interna (problema con SSL, contraseña o red) |
Mensajería (RabbitMQ)
Las comprobaciones de mensajería (RabbitMQ) solo se ejecutan en el servidor de RMT.
| Comprobar ID | Nombre | Condición de error (FAIL)/advertencia (WARN) |
| #22 | Servicio RMQ | FAIL Servicio local detenido y deshabilitado |
| #24 | Trabajo pendiente de la cola | WARN Cualquier cola que tenga > 10 000 mensajes |
| #25 | Usuarios de RabbitMQ | WARN si el usuario guest predeterminado sigue existiendo |
| #26 | Conexiones activas | INFO solo. Informa del recuento de conexiones activas |
| #27 | Cookies de Erlang accesibles | WARN si falta el archivo de cookies, si los permisos son incorrectos (debe ser el modo 400 o 600) |
| #27a | Conjunto ERLANG_HOME | WARN (solo Windows) si “ERLANG_HOME” no se establece o la ruta no existe. |
| #27b | Validez SSL | FAIL Los certificados han expirado |
| #27c | Alarma de disco | FAIL < 10 GB libres en la partición de RMQ (no se completará la actualización) |
| #45 | Directorio de certificados rellenado | WARN si el directorio de certificado existe pero está vacío o faltan los archivos de certificado esperados (certificado de servidor, clave, certificado CA) |
Red y configuración
| Comprobar ID | Nombre | Condición de error (FAIL)/advertencia (WARN) |
| #28a/b | Comunicaciones agente-maestro | WARN El agente no puede comunicarse con el maestro en 5671, 5672, 80 o 443 |
| #33-35 | JSON/Bash Config | FAIL Falta config.json, setup.json o environment.bash o no es válido |
| #36a | Versión incorrecta conocida | FAIL La versión actual es 2025.3.0 (actualización de bloques de regresión) |
Servicios y copia de seguridad
| Comprobar ID | Nombre | Condición de error (FAIL)/advertencia (WARN) |
| #38 | Todos los servicios de RMT en ejecución | WARN para cada servicio detenido |
| #38a | Procesos detenidos | FAIL Se han encontrado procesos tabrmt-* persistentes después de la detención de los servicios |
| #39 | Procesador en segundo plano en ejecución | WARN si el proceso de host no se está ejecutando |
| #40 | Recordatorio de copia de seguridad previa a la actualización | WARN como recordatorio para realizar una copia de seguridad de la configuración antes de actualizar |
| #41 | Topología | INFO solo. Informa del tipo de nodo principal/agente y (con base de datos) del recuento de agentes activos |
| #42 | Inventario de versiones de componentes | INFO solo. Crea informes de versiones RMT, PostgreSQL, RabbitMQ, OpenSSL |
| #43 | Resumen de las especificaciones del equipo | INFO solo. Informa del sistema operativo, los núcleos de CPU, la memoria RAM, el espacio libre en disco |
Comprobaciones de estado posteriores a la actualización
Estas comprobaciones se ejecutan después de la actualización. No bloquean y los errores no detienen la actualización, pero indican problemas posteriores a la instalación.
| Comprobar ID | Nombre | Componente | Condición de error (FAIL)/advertencia (WARN) |
| #1a-d | Servicios y procesos | RMT Server, Agent | FAIL Los servicios principales, PG o RMQ no se están ejecutando |
| #2 | Supervisor del proceso de host | RMT Server, Agent | WARN Falta el proceso del supervisor de host (sin recuperación automática) |
| #3a-b | Integridad del archivo de configuración | RMT Server, Agent | FAIL si falta un JSON o si no es válido |
| #4a-b | Permisos de archivo | RMT Server, Agent | FAIL Dirios de configuración/registro no legibles/escribibles por cuenta de servicio |
| #5a-d | Escucha de puertos | RMT Server | FAIL Web (443), AMQP (5672) o DB (5555) no escuchan |
| #6 | Conectividad PostgreSQL | RMT Server | FAIL PostgreSQL no acepta conexiones |
| #7 | Estado de RabbitMQ | Servidor de RMT | SKIP si es externo. FAIL después de agotarse todos los reintentos. |
| #8a | Consumidores en cola | RMT Server | WARN Existe trabajo pendiente, pero no hay consumidores activos (trabajadores maestros desconectados) |
| #9 | Alarmas RMQ | RMT Server | FAIL Se han detectado alarmas activas de memoria o de recursos de disco |
| #10 | Certificado SSL de RabbitMQ | Servidor de RMT | FAIL si el certificado ha expirado. WARN si los certificados caducan en un plazo de 30 días |
| #11 | Coincidencia FIPS | RMT Server, Agent | FAIL Discrepancias de estado FIPS del sistema operativo isFIPSEnabled config |
| #12 | Respuesta HTTP del servidor Web | Servidor de RMT | Hace que HTTP GET sea “https://localhost:<port>/authentication/login”. PASS en 200 o 302. FAIL en la conexión rechazada/expirada. WARN sobre otros errores. |
| #13 | Validez del certificado HTTPS | RMT Server | FAIL El certificado TLS del servidor Web ha expirado |
| #14a-d | Espacio en disco | RMT Server, Agent | FAIL < 1 GB libre. WARN: < 5 GB libre |
| #15 | Errores de registro recientes | RMT Server, Agent | FAIL Errores FATAL en los registros. WARN: errores CRÍTICOS |
| #16 | Estado de RMT | RMT Server, Agent | FAIL rmtadmin status devuelve patrones de error |
| #17 | Historial de registro del Agent | Agente | Comprueba los archivos de seguimiento del registro (.history, .json) en el directorio de datos del agente. WARN si los archivos son ilegibles o están dañados |
| #18a-f | Versión de inventario | RMT Server, Agent | INFO sobre la versión de RMT, la versión de PostgreSQL, la versión de RabbitMQ, la versión de Erlang/OTP, .NET Runtime (Windows) / SO (Linux), la versión de SO (Windows) / Kernel (Linux) |
Códigos de salida de la comprobación de estado
Utilice los siguientes códigos de salida para interpretar los resultados de los scripts de comprobación de estado previos y posteriores a la actualización.
Scripts preactualización
| Código de salida | Estado | Comportamiento de actualización |
| 0 | READY TO UPGRADE | Se realiza la actualización |
| 1 | UPGRADE WITH CAUTION | Se realiza la actualización, pero se deben revisar las advertencias |
| 2 | No actualizar | Actualización cancelada |
| 3 | Error de script | Comprobar el entorno de ejecución |
Scripts postactualización
| Código de salida | Estado |
| 0 | ALL PASSED |
| 1 | WARNINGS PRESENT |
| 2 | CRITICAL FAILURES |
Cambios en la gravedad de InstallerContext
Cuando se ejecuta con -InstallerContext durante las actualizaciones automáticas de MSI de Windows, las siguientes comprobaciones se comportan de forma distinta a la predeterminada manual. El comportamiento predeterminado (que no es InstallerContext) es *ya* WARN para los estados “detenido pero no deshabilitado” / “puerto sin escuchar”. FAIL está reservado para “Detenido+Deshabilitado”. En “-InstallerContext”, incluso la rama “Disabled” se notifica como WARN, por lo que una actualización en curso controlada por el instalador nunca está vetada por un estado transitorio que el instalador está a punto de solucionar.
| Comprobar | Nombre | Predeterminado | InstallerContext (contexto de instalador) |
| #17 | Servicio PG | WARN si se detiene, FAIL si se detiene y deshabilita, INFO si todo se detiene | WARN |
| #18 | Puerto PG | WARN si no está escuchando, INFO si todos los servicios se detuvieron | WARN |
| #22 | RabbitMQ Service | WARN si está detenido, FAIL si está detenido + deshabilitado, INFO si todo está detenido | WARN |
| #23 | Port 5672 (AMQP) | WARN si no está escuchando, INFO si todos los servicios se detuvieron | WARN |
| #38a | Procesos de RMT detenidos | (ver descripción de la comprobación) | SKIP (el instalador gestiona el ciclo de vida del proceso) |
Umbrales preactualización
| Umbral | RMT Server | Agente | Unidad |
| Disk space FAIL | 20 | 5 | GB libres |
| Disk space WARN | 50 | 10 | GB libres |
| Temp dir FAIL | 5 | 5 | GB libres |
| Temp dir WARN | 10 | 10 | GB libres |
| RAM FAIL | 8 | 4 | GB |
| RAM WARN | 16 | 8 | GB |
| CPU FAIL | 4 | 2 | núcleos |
| CPU WARN | 8 | 4 | núcleos |
| Database size FAIL | 500 | - | GB |
| Database size WARN | 200 | - | GB |
| Hangfire schema FAIL | 10 | - | GB |
| Hangfire schema WARN | 1 | - | GB |
| WAL dir FAIL (Windows) | 10 | - | GB |
| WAL dir FAIL (Windows) | 2 | - | GB |
| WAL dir FAIL (Linux) | 10 | - | GB |
| Mnesia dir WARN | 5 | - | GB |
| RabbitMQ disk alarm FAIL | 10 | - | GB libres |
| Queue backlog WARN | 10 000 | - | mensajes |
| Certificate expiry WARN | 30 | 30 | días |
| Cleanup retention WARN | 180 | - | días |
| Dead tuple ratio WARN | 20 | - | percent |
| Agent heartbeat stale | 15 | - | minutos |
| Network driver age WARN | 3 | - | años |
| Log dir size WARN | 5 | 5 | GB |
| Log dir size WARN (severe) | 20 | 20 | GB |
Umbrales postactualización
| Umbral | Valor | Unidad |
| Disk space FAIL | 1 | GB libres |
| Disk space WARN | 5 | GB libres |
| Certificate expiry WARN | 30 | días |
| Queue backlog WARN | 10 000 | mensajes |
| Registrar ventana de análisis | 60 | minutos |
| Reintento de reinicio de RabbitMQ | 6 intentos x 5 segundos | 30 segundos en total |
Versiones mínimas de los componentes admitidos
| Componente | Versión mínima |
| RabbitMQ | >= 3.10.10 |
| Versión del agente | >= 2023.1.0 |
Automatización e integración de CI/CD
Para 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
```
Para Windows:
```powershell
# Windows
.\rmt-pre-upgrade-check.ps1 -Component master
if ($LASTEXITCODE -eq 2) {
Write-Error "BLOCKED: Fix critical issues before upgrading"
exit 1
}
```
Referencia del directorio de instalación
Para invocar manualmente las utilidades de diagnóstico subyacentes o comprobar la estructura de instalación, consulte las rutas de directorio específicas de la plataforma:
Estructura de directorios de 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
```
Estructura de directorios de Windows
```
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root
C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root
```
Puertos de red requeridos
| Puerto | Servicio | Direction |
| 80 | Interfaz de usuario web de RMT (HTTP) | Entrante |
| 443 | Interfaz de usuario web de RMT (HTTPS) | Entrante |
| 5672 | RabbitMQ AMQP | Entrante en el servidor de RMT |
| 5671 | AMQP de RabbitMQ sobre TLS | Entrante en el servidor de RMT |
| 15672 | Interfaz de administración de RabbitMQ | Local |
| 25672 | Internodo de RabbitMQ | Local |
| 5555 | PostgreSQL interno | Local |
