networker-so-aktivieren-sie-das-rabbitmq-debugging
Summary: Dieser Wissensdatenbank-Artikel bietet eine Übersicht über den RabbitMQ-Service, die zugehörigen Protokolldateien und welches Debugging zusätzlich angewendet werden kann.
Instructions
RabbitMQ
NetWorker-Server verwenden RabbitMQ als Message Broker-Agent-Service. Er stellt einen Message Queuing-Mechanismus zwischen dem NetWorker-Serverprozess (nsrd) und andere von NetWorker verwendete Services, z. B. AUTHC, NetWorker Management Console (NMC), NetWorker Web User Interface (NWUI) usw. Probleme mit dem RabbitMQ-Service führen dazu, dass der NetWorker-Serverservice heruntergefahren wird. Allgemeine Meldungen werden in der daemon.raw des NetWorker-Servers protokolliert: daemon.raw:
- Linux:
/nsr/logs/daemon.raw - Windows (Standardeinstellung):
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...
- So rendern Sie die daemon.raw: NetWorker: Verwendung von nsr_render_log zum Rendern .raw Protokolldateien
Protokolldateien:
Der Protokollpfad variiert je nach rabbitmq-server verwendete Version. NetWorker-Versionen enthalten möglicherweise neuere Versionen von RabbitMQ. Versionsspezifische Details finden Sie in den NetWorker-Installations- und NetWorker-Administrationshandbüchern, die hier verfügbar sind:
/nsr/logs/daemon.raw |
NetWorker-Serviceprotokoll |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/log/crash.log |
RabbitMQ-Absturzprotokolle, dieses Verzeichnis enthält je nach Protokollrotation crash.log#. |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost.log |
Allgemeines RabbitMQ-Protokoll |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost_upgrade.log |
RabbitMQ-Upgradeprotokoll |
/nsr/tmp/rabbitmq/cores/erl_crash.dump |
Stack-Trace-Absturzprotokolle |
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw |
NetWorker-Serviceprotokoll |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\log\crash.log |
RabbitMQ-Absturzprotokolle, dieses Verzeichnis enthält je nach Protokollrotation crash.log#. |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME.log |
Allgemeines RabbitMQ-Protokoll |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME_upgrade.log |
RabbitMQ-Upgradeprotokoll |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\cores\erl_crash.dump |
Stack-Trace-Absturzprotokolle |
Debugging:
- Erstellen Sie eine Kopie der originalen Datei rabbitmq.config.
- Linux:
/opt/nsr/rabbitmq-server-#.#.#/etc/rabbitmq/rabbitmq.config - Windows (Standardeinstellung):
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-#.#.#\etc\rabbitmq.config
- Bearbeiten Sie die Datei rabbitmq.config so, dass sie die folgenden Zeilen enthält:
%% {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}]
}
]
}]
},
Fügen Sie die folgenden hervorgehobenen Zeilen am Anfang der Datei hinzu.
[
{rabbit,
[{tcp_listeners, []},
{log_levels, [{connection, debug}, {queue, debug}]},
{log,
[{file, [{level, debug}]},
{categories,
[{connection,
[{level, debug}]
},
{queue,
[{level, debug}]
}
]
}]
},
{ssl_listeners, [5671]},
- Fügen Sie auf Linux-Servern Trace Messaging in
rabbitmq-serverBinärdateivi /opt/nsr/rabbitmq-server-#.#.#/bin/rabbitmq-server- Oben in der Datei, in der gleichen Zeile wie
#!/bin/shappend-x. Beispiel:[root@nsr ~]# head /opt/nsr/rabbitmq-server-4.1.1/bin/rabbitmq-server #! /bin/sh -x
Während des Starts des NetWorker-Servers wird die RabbitMQ-Trace-Messaging direkt beim/nsr/logs/daemon.raw. Sobald das Debugging nicht mehr benötigt wird, entfernen Sie-xaus dieser Zeile.
- Oben in der Datei, in der gleichen Zeile wie
- Versuchen Sie, die NetWorker-Services zu starten:
- Linux:
systemctl restart networker - Windows PowerShell:
net stop nsrd /y ; net start nsrd
- Überwachen Sie die
rabbit@localhost.log(wenn Linux),rabbit@NODE.log(bei Windows) undcrash.logauf Fehler, die möglicherweise den Start von RabbitMQ verhindern.
rabbitmq.config Standardeinstellungen der Datei ändern. Alternativ können Sie das Backup verwenden, das vor dem Hinzufügen von Debugzeilen erstellt wurde. Damit RabbitMQ die Konfigurationsdatei neu laden kann, nachdem das Debugging deaktiviert wurde, ist ein Neustart der NetWorker-Services erforderlich.
Wenn RabbitMQ ausgeführt wird, sollte der NetWorker-Server Port 5671 (SSL) überwacht werden.
nsrports -t localhost -p 5671
Sie können die folgenden Befehle verwenden, um die Prozess-ID (PID) des Prozesses abzurufen, der 5671 überwacht. Der mit Port 5671 verknüpfte Prozess sollte vom RabbitMQ-Server stammen. rabbitmq-server.
Linux:
netstat -apno | grep 5671
Oder:
ss -tanp 'sport = :5671'
Unter Verwendung der PID des beam.smp -Prozess, überprüfen Sie, ob es sich um RabbitMQ handelt:
ps -ef | grep PID
Wenn RabbitMQ ausgeführt wird, sollte ein beam.smp Prozessüberwachung auf Port 5671.
Beispiel:
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
}}
Beispiel:
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-Eingabeaufforderung
netstat -ano | findstr 5671 wmic process where "ProcessID='PID'" get ProcessID,ExecutablePath
Beispiel:
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