NetWorker: Come abilitare il debug RabbitMQ
Résumé: Questo articolo della Knowledge Base offre una panoramica del servizio rabbitmq, dei file di registro associati e del debug aggiuntivo che è possibile applicare.
Instructions
RabbitMQ
I server NetWorker utilizzano RabbitMQ come servizio dell'agent Message Broker. Fornisce un meccanismo di accodamento dei messaggi tra il processo del server NetWorker (nsrd) e altri servizi utilizzati da NetWorker, ad esempio: AUTHC, NetWorker Management Console (NMC), NetWorker Web User Interface (NWUI) e così via. I problemi del servizio RabbitMQ causano l'arresto del servizio del server NetWorker; i messaggi generali vengono registrati nel file daemon.raw del server NetWorker:
- Linux:
/nsr/logs/daemon.raw - Windows (impostazione predefinita):
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...
- Come eseguire il rendering del daemon.raw: NetWorker: Come utilizzare nsr_render_log per eseguire il rendering .raw file di log
File di registro:
Il percorso del registro varia a seconda della versione rabbitmq-server utilizzata. Le versioni di NetWorker possono includere versioni più recenti di RabbitMQ. I dettagli specifici della versione sono disponibili nelle guide di installazione e amministrazione di NetWorker, disponibili all'indirizzo: Supporto per NetWorker | Manuali e documenti
/nsr/logs/daemon.raw |
Registro dei servizi NetWorker |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/log/crash.log |
Registri di arresto anomalo di RabbitMQ, questa directory contiene crash.log# a seconda della rotazione del registro. |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost.log |
Registro generale di RabbitMQ |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost_upgrade.log |
Registro di aggiornamento di RabbitMQ |
/nsr/tmp/rabbitmq/cores/erl_crash.dump |
Registri di traccia dello stack di arresto anomalo |
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw |
Registro dei servizi NetWorker |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\log\crash.log |
Registri di arresto anomalo di RabbitMQ, questa directory contiene crash.log# a seconda della rotazione del registro. |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME.log |
Registro generale di RabbitMQ |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME_upgrade.log |
Registro di aggiornamento di RabbitMQ |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\cores\erl_crash.dump |
Registri di traccia dello stack di arresto anomalo |
Debug:
- Creare una copia del file rabbitmq.config originale.
- Linux:
/opt/nsr/rabbitmq-server-#.#.#/etc/rabbitmq/rabbitmq.config - Windows (impostazione predefinita):
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-#.#.#\etc\rabbitmq.config
- Modificare il file rabbitmq.config in modo che contenga le seguenti righe:
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}]
}
]
}]
},
Aggiungere le seguenti righe evidenziate nella parte superiore del file.
[
{rabbit,
[{tcp_listeners, []},
{log_levels, [{connection, debug}, {queue, debug}]},
{log,
[{file, [{level, debug}]},
{categories,
[{connection,
[{level, debug}]
},
{queue,
[{level, debug}]
}
]
}]
},
{ssl_listeners, [5671]},
- Tentare di avviare i servizi NetWorker:
- Linux:
systemctl restart networker - Windows (PowerShell):
net stop nsrd /y ; net start nsrd
- Monitorare il rabbit@localhost.log (se Linux), rabbit@NODE.log (se Windows) e crash.log per rilevare eventuali errori che potrebbero impedire l'avvio di RabbitMQ.
Quando RabbitMQ è in esecuzione, il server NetWorker dovrebbe utilizzare la porta 5671 (SSL) per l'ascolto.
nsrports -t localhost -p 5671
È possibile utilizzare i seguenti comandi per ottenere l'ID processo (PID) del processo in ascolto sulla porta 5671. Il processo associato alla porta 5671 deve provenire da rabbitmq-server.
Linux:
netstat -apno | grep 5671
Oppure:
ss -tanp 'sport = :5671'
Utilizzando il PID del processo beam.smp, verificare se si tratta di RabbitMq:
ps -ef | grep PID
Se RabbitMQ è in esecuzione, dovrebbe essere presente un beam.smp Processo in ascolto sulla porta 5671.
Esempio:
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
}}
Esempio:
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 (prompt dei comandi)
netstat -ano | findstr 5671 wmic process where "ProcessID='PID'" get ProcessID,ExecutablePath
Esempio:
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
Informations supplémentaires
NetWorker: Come abilitare AUTHC DEBUG per la
risoluzione dei problemiNetworker: Come abilitare il
debug API RESTInterfaccia utente web di NetWorker Management (NWUI): guida alla valutazione e alla risoluzione dei problemi