NetWorker:如何啟用 RabbitMQ 偵錯
摘要: 本 KB 概述 rabbitmq 服務、關聯的記錄檔,以及可應用的其他偵錯。
本文章適用於
本文章不適用於
本文無關於任何特定產品。
本文未識別所有產品版本。
說明
RabbitMQ
NetWorker 伺服器使用 RabbitMQ 作為訊息代理程式服務。它在 NetWorker 伺服器程序 (nsrd) 和 NetWorker 使用的其他服務之間提供訊息佇列機制,例如:AUTHC、NetWorker Management Console (NMC)、NetWorker Web 使用者介面 (NWUI) 等。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 伺服器 版本而有所不同。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 伺服器版本會因 NetWorker 版本而異。「rabbitmq-server」資料夾包含 RabbitMQ 伺服器版本。
- 編輯 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 (PowerShell):
net stop nsrd /y ; net start nsrd
- 監控 rabbit@localhost.log (如果是 Linux)、rabbit@NODE.log (如果是 Windows),並crash.log上可能阻止 RabbitMQ 啟動的錯誤。
警告:此偵錯的目的在於主動進行故障診斷。舉例來說,當 RabbitMQ 無法啟動時。它不應在使用中的 NetWorker 伺服器上啟用及自動執行。如果 RabbitMQ 正常運作,此偵錯可能會使用數千個與 java 的連接埠連線,這可能會使其停止回應 NetWorker 伺服器及其使用者介面。故障排除后,通過將 rabbitmq.config 檔還原到其預設設置來刪除調試。或者,使用在添加調試行之前創建的備份。停用除錯後,RabbitMQ 需要重新啟動 NetWorker 服務,才能重新載入組態檔案。
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
}}
範例:
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
範例:
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
其他資訊
NetWorker:如何啟用 AUTHC 偵錯以進行故障診斷
NetWorker:如何啟用 REST API 除錯
NetWorker Management Web UI (NWUI):分級與故障診斷指南
受影響的產品
NetWorker產品
NetWorker Family, NetWorker Series文章屬性
文章編號: 000212107
文章類型: How To
上次修改時間: 06 1月 2026
版本: 9
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。