NetWorker: RabbitMQ 디버깅 활성화 방법
Summary: 이 KB는 RabbitMQ 서비스, 관련 로그 파일 및 적용할 수 있는 추가 디버깅에 대한 개요입니다.
Instructions
RabbitMQ
RabbitMQ는 NetWorker 서버에서 메시지 브로커 에이전트 서비스로 사용되며, authc, NMC(NetWorker Management Console), NWUI(NetWorker Web User Interface) 등의 NetWorker 서버 프로세스(nsrd)와 NetWorker에서 사용하는 기타 서비스 간에 메시지 대기열 메커니즘을 제공합니다. RabbitMQ 서비스 문제로 인해 NetWorker 서버 서비스가 종료되고 일반 메시지가 NetWorker 서버의 daemon.raw에 기록됩니다.
- 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...
- daemon.raw를 렌더링하는 방법: https://www.dell.com/support/kbdoc/000022793/
로그 파일:
로그 경로는 사용되는 RabbitMQ-server 버전에 따라 다릅니다. NetWorker 버전에는 RabbitMQ의 최신 버전이 포함될 수 있습니다. 버전별 세부 정보는 다음 주소의 NetWorker Installation 및 NetWorker Administration Guide에서 확인할 수 있습니다. https://www.dell.com/support/home/en-us/product-support/product/networker/docs
| /nsr/logs/daemon.raw | NetWorker 서비스 로그 |
| /opt/nsr/rabbitmq-server*/var/log/rabbitmq/log/crash.log | RabbitMQ 충돌 로그. 이 디렉토리에는 로그 순환에 따라 crash.log#가 포함되어 있습니다. |
| /opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost.log | RabbitMQ 일반 로그 |
| /opt/nsr/rabbitmq-server*/var/log/rabbitmq/rabbit@localhost_upgrade.log | RabbitMQ 업그레이드 로그 |
| /nsr/tmp/rabbitmq/cores/erl_crash.dump | 충돌 스택 추적 로그 |
| C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw | NetWorker 서비스 로그 |
| C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\log\crash.log | RabbitMQ 충돌 로그. 이 디렉토리에는 로그 순환에 따라 crash.log#가 포함되어 있습니다. |
| C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME.log | RabbitMQ 일반 로그 |
| C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\log\rabbit@HOSTNAME_upgrade.log | RabbitMQ 업그레이드 로그 |
| C:\Program Files\EMC NetWorker\nsr\tmp\RabbitMQ\cores\erl_crash.dump | 충돌 스택 추적 로그 |
디버깅:
디버깅 옵션은 RabbitMQ 버전에 따라 다를 수 있습니다. 이 버전은 아래의 rabbitmq-server 폴더에 의해 표시됩니다.
- 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-#.#.#- 원본 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 - 다음 줄을 포함하도록 rabbitmq.config 파일을 편집합니다.
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}] } ] }] },참고: 주석 행(%%)이 이미 있습니다. 이 행 아래에 변경 사항을 추가할 수 있습니다.Windows:
파일 맨 위에 강조 표시된 다음 행을 추가합니다.[ {rabbit, [{tcp_listeners, []}, {log_levels, [{connection, debug}, {queue, debug}]}, {log, [{file, [{level, debug}]}, {categories, [{connection, [{level, debug}] }, {queue, [{level, debug}] } ] }] }, {ssl_listeners, [5671]}, - NetWorker 서비스 시작 시도:
Linux:systemctl restart networker
Windows:net stop nsrd /y && net start nsrd - rabbit@localhost.log(Linux의 경우), rabbit@NODE.log(Windows의 경우) 및 crash.log를 모니터링하여 RabbitMQ 시작을 방해할 수 있는 오류를 확인합니다.
- 원본 rabbitmq.config의 복제본을 만듭니다.
RabbitMQ가 실행 중인 경우 NetWorker 서버에 포트 5671(SSL) 수신 기능이 있어야 합니다.
nsrports -t localhost -p 5671
5671에서 수신하는 프로세스의 PID(Process ID)를 얻으려면 다음 명령을 사용할 수 있습니다. 포트 5671과 관련된 프로세스는 rabbitmq-server에서 수행해야 합니다.
Linux:
netstat -apno | grep 5671 ps -ef | grep PID
예:
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
예:
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