NetWorker:RabbitMQデバッグを有効にする方法
Résumé: このKBは、rabbitmqサービス、関連するログ ファイル、および適用可能な追加のデバッグの概要について説明します。
Instructions
RabbitMQ
NetWorkerサーバーは、メッセージ ブローカー エージェント サービスとしてRabbitMQを使用します。これは、NetWorkerサーバー プロセス(nsrd)と、NetWorkerで使用されるその他のサービスとの間に、次のようなメッセージ キューイング メカニズムを提供します。AUTHC、NMC(NetWorker管理コンソール)、NWUI(NetWorker Webユーザー インターフェイス)など。RabbitMQサービスの問題により、NetWorkerサーバー サービスがシャットダウンします。一般的なメッセージは、NetWorkerサーバーのdaemon.rawに記録されます。
- Linuxの場合
/nsr/logs/daemon.raw - Windows(デフォルト):
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...
- daemon.rawをレンダリングする方法: NetWorker:nsr_render_logを使用して.rawログ ファイルをレンダリングする方法
ログ ファイル:
ログパスは、使用する rabbitmq-server のバージョンによって異なります。NetWorkerのバージョンには、より新しいバージョンのRabbitMQが含まれている場合があります。バージョンごとの詳細については、次のリンクから入手できる『NetWorkerインストール ガイド』および『NetWorker管理ガイド』を参照してください。NetWorkerのサポート |マニュアルおよび文書
/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.configのコピーを作成します。
- Linuxの場合
/opt/nsr/rabbitmq-server-#.#.#/etc/rabbitmq/rabbitmq.config - Windows(デフォルト):
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-#.#.#\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}]
}
]
}]
},
ファイルの先頭に次のハイライト表示された行を追加します。
[
{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 (PowerShell)の場合:
net stop nsrd /y ; net start nsrd
- rabbit@localhost.log(Linuxの場合)、rabbit@NODE.log(Windowsの場合)、crash.logを監視して、RabbitMQの起動を妨げている可能性のあるエラーがないか確認します。
RabbitMQを実行している場合、NetWorkerサーバーはポート5671 (SSL)をリッスンしているはずです。
nsrports -t localhost -p 5671
次のコマンドを使用して、5671でリッスンしているプロセスのプロセスID (PID)を取得できます。ポート 5671 に関連付けられているプロセスは、 rabbitmq-server から行う必要があります。
Linuxの場合
netstat -apno | grep 5671
または
ss -tanp 'sport = :5671'
beam.smpプロセスのPIDを使用して、RabbitMqかどうかを確認します。
ps -ef | grep PID
RabbitMQが実行されている場合は、 beam.smp ポート5671.
でリッスンしているプロセス例:
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
}}
Example:
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(コマンド プロンプト)
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
Informations supplémentaires
NetWorker:トラブルシューティングのためにAUTHC DEBUGを有効にする方法
Networker:REST APIデバッグを有効にする方法
NetWorker管理Web UI (NWUI): トリアージおよびトラブルシューティング ガイド(英語)」