NetWorker:如何启用 RabbitMQ 调试

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

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

Additional Information

Affected Products

NetWorker

Products

NetWorker Family, NetWorker Series
Article Properties
Article Number: 000212107
Article Type: How To
Last Modified: 06 يناير 2026
Version:  9
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.