NetWorker:如何启用 RabbitMQ 调试

摘要: 本知识库文章概要介绍了 rabbitmq 服务、关联的日志文件以及可应用的其他调试。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

RabbitMQ

NetWorker 服务器使用 RabbitMQ 作为消息 Broker 代理服务。它在 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-server 版本而异。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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。