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
RabbitMQ jest używany przez serwery NetWorker jako usługa agenta brokera wiadomości; zapewnia mechanizm kolejkowania wiadomości między procesem serwera NetWorker (nsrd) a innymi usługami używanymi przez NetWorker, na przykład: authc, NetWorker Management Console (NMC), NetWorker Web User Interface (NWUI) i tak dalej. Problemy z usługą RabbitMQ powodują wyłączenie usługi serwera NetWorker; ogólne komunikaty są rejestrowane w pliku daemon.raw serwera NetWorker:
- Linux:
/nsr/logs/daemon.raw - Windows:
..\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ć plik daemon.raw: https://www.dell.com/support/kbdoc/000022793/
Pliki dziennika:
Ścieżka dziennika może być różna w zależności od posiadanej wersji rabbitmq-server. 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: https://www.dell.com/support/home/en-us/product-support/product/networker/docs
| /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:
Opcje debugowania mogą się różnić w zależności od wersji RabbitMQ. Wersja jest wskazana przez folder rabbitmq-server w sekcji:
- NetWorker 19.6-19.9: 3.8.18
- NetWorker 19.10: 3.11.16
- Linux:
/opt/nsr/rabbitmq-server-#.#.# - Windows:
..\Program Files\EMC NetWorker\nsr\rabbitmq-server-#.#.#- Zrób kopię oryginalnego pliku rabbitmq.config.
Linux:/opt/nsr/rabbitmq-server-3.8.18/etc/rabbitmq/rabbitmq.config
Windows:..\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.8.18\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}] } ] }] },UWAGA: wiersz komentarza (%%) jest już w pliku, zmiany można dodać pod tym wierszem.Windows:
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]}, - Spróbuj uruchomić usługi NetWorker:
Linux:systemctl restart networker
Windows:net stop nsrd /y && net start nsrd - Monitoruj plik rabbit@localhost.logg (dla systemu Linux), rabbit@NODE.log (dla systemu Windows) i plik crash.log pod kątem błędów, które mogą uniemożliwiać uruchomienie RabbitMQ.
- Zrób kopię oryginalnego pliku rabbitmq.config.
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 powiązany z portem 5671 powinien pochodzić z rabbitmq-server.
Linux:
netstat -apno | grep 5671 ps -ef | grep PID
Example:
nve:~ # netstat -apno | grep 5671 tcp 0 0 192.168.9.101:52676 192.168.9.101:5671 ESTABLISHED 2607/gstd keepalive (5922.75/0/0) tcp 0 0 :::5671 :::* LISTEN 5238/beam.smp off (0.00/0/0) tcp 0 0 192.168.9.101:52654 192.168.9.101:5671 ESTABLISHED 2128/java off (0.00/0/0) tcp 0 0 ::1:5671 ::1:50974 ESTABLISHED 5238/beam.smp off (0.00/0/0) tcp 0 0 ::1:50974 ::1:5671 ESTABLISHED 5519/nsrjobd keepalive (5922.75/0/0) tcp 0 0 192.168.9.101:52668 192.168.9.101:5671 ESTABLISHED 2128/java off (0.00/0/0) tcp 0 0 192.168.9.101:5671 192.168.9.101:52654 ESTABLISHED 5238/beam.smp off (0.00/0/0) tcp 0 0 192.168.9.101:5671 192.168.9.101:52676 ESTABLISHED 5238/beam.smp off (0.00/0/0) tcp 0 0 192.168.9.101:5671 192.168.9.101:52668 ESTABLISHED 5238/beam.smp off (0.00/0/0) nve:~ # ps -ef | grep 5238 root 5238 5232 0 Jun05 ? 00:02:55 /opt/nsr/rabbitmq-server-3.11.16/erts-13.2.2/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sbwtdio none -B i -- -root /opt/nsr/rabbitmq-server-3.11.16 -bindir /opt/nsr/rabbitmq-server-3.11.16/erts-13.2.2/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 5247 5238 0 Jun05 ? 00:00:00 erl_child_setup 1024 root 26598 26408 0 11:42 pts/0 00:00:00 grep --color=auto 5238
Windows:
netstat -ano | findstr 5671 wmic process where "ProcessID='PID'" get ProcessID,ExecutablePath
Example:
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