NetWorker: włączanie debugowania RabbitMQ
Summary: Ten artykuł z bazy wiedzy zawiera omówienie usługi rabbitmq, powiązanych plików dziennika i dodatkowych funkcji debugowania, które można zastosować.
Instructions
RabbitMQ
Serwery NetWorker używają oprogramowania RabbitMQ jako usługi agenta brokera komunikatów. Zapewnia mechanizm kolejkowania wiadomości pomiędzy procesami serwera NetWorker (nsrd) i inne usługi używane przez NetWorker, na przykład: AUTHC, NetWorker Management Console (NMC), NetWorker Web User Interface (NWUI) itd. Problemy z usługą RabbitMQ powodują wyłączenie usługi serwera NetWorker. ogólne komunikaty są rejestrowane w katalogu serwera NetWorker daemon.raw:
- Linux:
/nsr/logs/daemon.raw - Windows (domyślnie):
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...
- Jak renderować daemon.raw: NetWorker: Jak używać nsr_render_log do renderowania plików dziennika .raw
Pliki dziennika:
Ścieżka dziennika różni się w zależności od rabbitmq-server używanej wersji. Wersje NetWorker mogą zawierać nowsze wersje RabbitMQ. Szczegółowe informacje na temat poszczególnych wersji można znaleźć w podręcznikach instalacji NetWorker i NetWorker Administration, dostępnych pod adresem: Wsparcie dla NetWorker | Instrukcje obsługi i dokumenty
/nsr/logs/daemon.raw |
Dziennik usług NetWorker |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/log/crash.log |
Dzienniki awarii RabbitMQ, ten katalog zawiera crash.log# w zależności od rotacji dziennika. |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost.log |
Dziennik ogólny RabbitMQ |
/opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost_upgrade.log |
Dziennik aktualizacji RabbitMQ |
/nsr/tmp/rabbitmq/cores/erl_crash.dump |
Dzienniki śledzenia stosu awarii |
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw |
Dziennik usług NetWorker |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\log\crash.log |
Dzienniki awarii RabbitMQ, ten katalog zawiera crash.log# w zależności od rotacji dziennika. |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME.log |
Dziennik ogólny RabbitMQ |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME_upgrade.log |
Dziennik aktualizacji RabbitMQ |
C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\cores\erl_crash.dump |
Dzienniki śledzenia stosu awarii |
Debugowanie:
- Utwórz kopię oryginalnego pliku rabbitmq.config.
- Linux:
/opt/nsr/rabbitmq-server-#.#.#/etc/rabbitmq/rabbitmq.config - Windows (domyślnie):
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-#.#.#\etc\rabbitmq.config
- Edytuj plik rabbitmq.config , aby zawierał następujące wiersze:
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}]
}
]
}]
},
dodaj następujące wyróżnione wiersze w górnej części pliku.
[
{rabbit,
[{tcp_listeners, []},
{log_levels, [{connection, debug}, {queue, debug}]},
{log,
[{file, [{level, debug}]},
{categories,
[{connection,
[{level, debug}]
},
{queue,
[{level, debug}]
}
]
}]
},
{ssl_listeners, [5671]},
- Na serwerach z systemem Linux dodaj komunikaty śledzenia do
rabbitmq-serverBinarnym:vi /opt/nsr/rabbitmq-server-#.#.#/bin/rabbitmq-server- U góry pliku, w tym samym wierszu co
#!/bin/shDołączyć-x. Przykład:[root@nsr ~]# head /opt/nsr/rabbitmq-server-4.1.1/bin/rabbitmq-server #! /bin/sh -x
Podczas uruchamiania serwera NetWorker komunikaty śledzenia RabbitMQ są rejestrowane bezpośrednio w/nsr/logs/daemon.raw. Gdy debugowanie nie jest już potrzebne, usuń-xz tej linii.
- U góry pliku, w tym samym wierszu co
- Spróbuj uruchomić usługi NetWorker:
- Linux:
systemctl restart networker - Windows (PowerShell):
net stop nsrd /y ; net start nsrd
- Monitoruj
rabbit@localhost.log(jeśli Linux),rabbit@NODE.log(w przypadku systemu Windows) orazcrash.logw przypadku błędów, które mogą uniemożliwiać uruchomienie RabbitMQ.
rabbitmq.config do ustawień domyślnych. Alternatywnie użyj kopii zapasowej utworzonej przed dodaniem wierszy debugowania. Ponowne uruchomienie usług NetWorker jest wymagane, aby RabbitMQ mógł ponownie załadować plik konfiguracyjny po wyłączeniu debugowania.
Gdy RabbitMQ jest uruchomiony, serwer NetWorker powinien nasłuchiwać na porcie 5671 (SSL).
nsrports -t localhost -p 5671
Możesz skorzystać z następujących poleceń, aby uzyskać identyfikator procesu (PID) nasłuchującego na 5671. Proces związany z portem 5671 powinien pochodzić z: rabbitmq-server.
Linux:
netstat -apno | grep 5671
lub:
ss -tanp 'sport = :5671'
Korzystanie z PID beam.smp proces, potwierdź, czy jest to RabbitMQ:
ps -ef | grep PID
Jeśli oprogramowanie RabbitMQ jest uruchomione, powinien pojawić się beam.smp Nasłuchiwanie procesu na porcie 5671.
Przykład:
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
}}
Przykład:
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 (wiersz polecenia)
netstat -ano | findstr 5671 wmic process where "ProcessID='PID'" get ProcessID,ExecutablePath
Przykład:
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
Additional Information
NetWorker: Włączanie funkcji AUTHC DEBUG w celu
rozwiązywania problemówNetworker: Jak włączyć debugowanie
interfejsu API RESTSieciowy interfejs użytkownika NetWorker Management (NWUI): podręcznik weryfikacji i rozwiązywanie problemów