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.raw
    137911 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 支援 |手冊與文件 

Linux 記錄位置:
/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 當機堆疊追蹤記錄

 

Windows 記錄位置 (預設安裝位置)
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 當機堆疊追蹤記錄

偵錯:

  1. 製作原始 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 伺服器版本。
  1. 編輯 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]}, 
  1. 嘗試啟動 NetWorker 服務:
  • Linux: systemctl restart networker
  • Windows (PowerShell): net stop nsrd /y ; net start nsrd
  1. 監控 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

產品

NetWorker Family, NetWorker Series
文章屬性
文章編號: 000212107
文章類型: How To
上次修改時間: 06 1月 2026
版本:  9
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。