NetWorker: Cómo habilitar la depuración de RabbitMQ
Resumen: Este artículo de la Base de conocimientos se presenta como una descripción general del servicio rabbitmq, los archivos de registro asociados y la depuración adicional que se puede aplicar. ...
Instrucciones
RabbitMQ
Los servidores NetWorker utilizan RabbitMQ como un servicio de agente de mensajería. Proporciona un mecanismo de puesta en línea de espera de mensajes entre el proceso de NetWorker Server (nsrd) y otros servicios utilizados por NetWorker, por ejemplo: AUTHC, NetWorker Management Console (NMC), NetWorker Web User Interface (NWUI), etc. Los problemas del servicio RabbitMQ hacen que el servicio del servidor de NetWorker se apague; Los mensajes generales se registran en el servidor de NetWorker daemon.raw:
- Linux:
/nsr/logs/daemon.raw - Windows (valor predeterminado):
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw137911 YYYY-MM-DD HH:mm:SS AM/PM 5 5 0 313919296 1615791 0 NW_SERVER-NAME nsrctld NSR critical Aborting startup sequence: Process /opt/nsr/rabbitmq-server-3.8.18/bin/rabbitmq-server exited in less than 10 seconds at startup: exit code 0 127108 YYYY-MM-DD HH:mm:SS AM/PM 5 5 0 313919296 1615791 0 NW_SERVER-NAME nsrctld NSR critical Failed to start all daemons; shutting down...
- Cómo renderizar el daemon.raw: NetWorker: Cómo usar nsr_render_log para representar .raw archivos de registro
Archivos de registro:
La ruta del registro varía en función de la rabbitmq-server versión utilizada. Las versiones de NetWorker pueden incluir versiones más recientes de RabbitMQ. Los detalles específicos de la versión pueden encontrarse en las Guías de instalación y administración de NetWorker, disponibles en: Compatibilidad con NetWorker | Manuales y documentos
/nsr/logs/daemon.raw |
Registro de servicios de NetWorker |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/log/crash.log |
En los registros de bloqueo de RabbitMQ, este directorio contiene crash.log# según la rotación de registros. |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost.log |
Registro general de RabbitMQ |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost_upgrade.log |
Registro de actualización de RabbitMQ |
/nsr/tmp/rabbitmq/cores/erl_crash.dump |
Registros de seguimiento de pila de bloqueos |
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw |
Registro de servicios de NetWorker |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\log\crash.log |
En los registros de bloqueo de RabbitMQ, este directorio contiene crash.log# según la rotación de registros. |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME.log |
Registro general de RabbitMQ |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME_upgrade.log |
Registro de actualización de RabbitMQ |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\cores\erl_crash.dump |
Registros de seguimiento de pila de bloqueos |
Depuración:
- Haga una copia del rabbitmq.config original.
- Linux:
/opt/nsr/rabbitmq-server-#.#.#/etc/rabbitmq/rabbitmq.config - Windows (valor predeterminado):
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-#.#.#\etc\rabbitmq.config
- Edite el archivo rabbitmq.config para que contenga las siguientes líneas:
Linux:
%% {log_levels, [{channel, info}, {connection, info}, {federation, info}, {mirroring, info}]},
{log_levels, [{connection, debug}, {queue, debug}]},
{log,
[{file, [{level, debug}]},
{categories,
[{connection,
[{level, debug}]
},
{queue,
[{level, debug}]
}
]
}]
},
Agregue las siguientes líneas resaltadas en la parte superior del archivo.
[
{rabbit,
[{tcp_listeners, []},
{log_levels, [{connection, debug}, {queue, debug}]},
{log,
[{file, [{level, debug}]},
{categories,
[{connection,
[{level, debug}]
},
{queue,
[{level, debug}]
}
]
}]
},
{ssl_listeners, [5671]},
- En los servidores Linux, agregue mensajes de seguimiento en el archivo
rabbitmq-serverBinario:vi /opt/nsr/rabbitmq-server-#.#.#/bin/rabbitmq-server- En la parte superior del archivo, en la misma línea que
#!/bin/shAnexar-x. Ejemplo:[root@nsr ~]# head /opt/nsr/rabbitmq-server-4.1.1/bin/rabbitmq-server #! /bin/sh -x
Durante el inicio de NetWorker Server, los mensajes de rastreo de RabbitMQ se registran directamente en/nsr/logs/daemon.raw. Una vez que la depuración ya no sea necesaria, elimine-xde esta línea.
- En la parte superior del archivo, en la misma línea que
- Pruebe iniciar los servicios de NetWorker:
- Linux:
systemctl restart networker - Windows (PowerShell):
net stop nsrd /y ; net start nsrd
- Monitoree el
rabbit@localhost.log(si es Linux),rabbit@NODE.log(si es Windows) ycrash.logpara errores que pueden estar impidiendo el inicio de RabbitMQ.
rabbitmq.config a sus ajustes predeterminados. Como alternativa, utilice el respaldo creado antes de agregar líneas de depuración. Se requiere el reinicio de los servicios de NetWorker para que RabbitMQ vuelva a cargar el archivo de configuración después de que se haya deshabilitado la depuración.
Cuando se ejecuta RabbitMQ, el puerto 5671 (SSL) debe captar en el servidor NetWorker.
nsrports -t localhost -p 5671
Puede utilizar los siguientes comandos para obtener el ID del proceso (PID) de captación del puerto 5671. El proceso asociado con el puerto 5671 debe ser de rabbitmq-server.
Linux:
netstat -apno | grep 5671
O:
ss -tanp 'sport = :5671'
Mediante el PID del beam.smp proces, confirme si es RabbitMQ:
ps -ef | grep PID
Si RabbitMQ está en ejecución, debe haber un beam.smp Escucha de proceso en el puerto 5671.
Ejemplo:
nve:~ # netstat -apno | grep :5671
tcp 0 0 :::5671 :::* LISTEN 31393/beam.smp off (0.00/0/0)
tcp 0 0 192.168.0.4:50612 192.168.0.4:5671 ESTABLISHED 13960/java off (0.00/0/0)
tcp 0 0 ::1:5671 ::1:36464 ESTABLISHED 31393/beam.smp off (0.00/0/0)
tcp 0 0 192.168.0.4:50596 192.168.0.4:5671 ESTABLISHED 13960/java off (0.00/0/0)
tcp 0 0 ::1:36464 ::1:5671 ESTABLISHED 31927/nsrjobd keepalive (6849.54/0/0)
tcp 0 0 ::1:56715 ::1:8695 TIME_WAIT - timewait (0.24/0/0)
tcp 0 0 192.168.0.4:5671 192.168.0.4:50612 ESTABLISHED 31393/beam.smp off (0.00/0/0)
tcp 0 0 ::1:56711 ::1:9436 TIME_WAIT - timewait (23.09/0/0)
tcp 0 0 ::1:56717 ::1:7937 TIME_WAIT - timewait (21.02/0/0)
tcp 0 0 ::1:56719 ::1:9436 TIME_WAIT - timewait (23.09/0/0)
tcp 0 0 192.168.0.4:5671 192.168.0.4:50596 ESTABLISHED 31393/beam.smp off (0.00/0/0)
nve:~ # ps -ef | grep 31393
root 12207 15447 0 23:09 pts/0 00:00:00 grep --color=auto 31393
root 31393 31385 1 23:01 ? 00:00:05 /opt/nsr/rabbitmq-server-4.1.1/erts-14.2.5.11/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sbwtdio none -B i -- -root /opt/nsr/rabbitmq-server-4.1.1 -bindir /opt/nsr/rabbitmq-server-4.1.1/erts-14.2.5.11/bin -progname erl -- -home /nsr/rabbitmq -- -pa -noshell -noinput -s rabbit boot -boot start_sasl -syslog logger [] -syslog syslog_error_logger false -kernel prevent_overlapping_partitions false
root 31408 31393 0 23:01 ? 00:00:00 erl_child_setup 1024
Windows (PowerShell):
Get-NetTCPConnection -LocalPort 5671 |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State,
@{Name='PID';Expression={$_.OwningProcess}},
@{Name='ExecutablePath';Expression={
(Get-CimInstance Win32_Process -Filter "ProcessId = $($_.OwningProcess)" -ErrorAction SilentlyContinue).ExecutablePath
}}
Ejemplo:
PS C:\Users\Administrator.NETWORKER> Get-NetTCPConnection -LocalPort 5671 |
>> Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State,
>> @{Name='PID';Expression={$_.OwningProcess}},
>> @{Name='ExecutablePath';Expression={
>> (Get-CimInstance Win32_Process -Filter "ProcessId = $($_.OwningProcess)" -ErrorAction SilentlyContinue).ExecutablePath
>> }}
LocalAddress : fe80::d3e7:121a:e342:3332%4
LocalPort : 5671
RemoteAddress : fe80::d3e7:121a:e342:3332%4
RemotePort : 52085
State : Established
PID : 7720
ExecutablePath : C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.12.14\bin\erl.exe
LocalAddress : fe80::d3e7:121a:e342:3332%4
LocalPort : 5671
RemoteAddress : fe80::d3e7:121a:e342:3332%4
RemotePort : 51582
State : Established
PID : 7720
ExecutablePath : C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.12.14\bin\erl.exe
LocalAddress : ::1
LocalPort : 5671
RemoteAddress : ::1
RemotePort : 51813
State : Established
PID : 7720
ExecutablePath : C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.12.14\bin\erl.exe
LocalAddress : ::
LocalPort : 5671
RemoteAddress : ::
RemotePort : 0
State : Listen
PID : 7720
ExecutablePath : C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.12.14\bin\erl.exe
LocalAddress : 0.0.0.0
LocalPort : 5671
RemoteAddress : 0.0.0.0
RemotePort : 0
State : Listen
PID : 7720
ExecutablePath : C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.12.14\bin\erl.exe
Windows (símbolo del sistema)
netstat -ano | findstr 5671 wmic process where "ProcessID='PID'" get ProcessID,ExecutablePath
Ejemplo:
PS C:\Users\Administrator.AMER> netstat -ano | findstr 5671 TCP 0.0.0.0:5671 0.0.0.0:0 LISTENING 356 TCP 192.168.9.123:5671 192.168.9.123:63097 ESTABLISHED 356 TCP 192.168.9.123:5671 192.168.9.123:63098 ESTABLISHED 356 TCP 192.168.9.123:63097 192.168.9.123:5671 ESTABLISHED 6324 TCP 192.168.9.123:63098 192.168.9.123:5671 ESTABLISHED 6324 TCP [::]:5671 [::]:0 LISTENING 356 TCP [::1]:5671 [::1]:63105 ESTABLISHED 356 TCP [::1]:5671 [::1]:63106 ESTABLISHED 356 TCP [::1]:63105 [::1]:5671 ESTABLISHED 4676 TCP [::1]:63106 [::1]:5671 ESTABLISHED 776 PS C:\Users\Administrator.AMER> wmic process where "ProcessID='356'" get ProcessID,ExecutablePath ExecutablePath ProcessId C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.8.18\bin\erl.exe 356
Información adicional
NetWorker: Cómo habilitar la DEPURACIÓN AUTHC para fines
de solución de problemasNetWorker: Cómo habilitar la depuración de la API REST
Interfaz de usuario web de administración de NetWorker (NWUI): Guía de triaje y solución de problemas