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.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 服务器版本因 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产品
NetWorker Family, NetWorker Series文章属性
文章编号: 000212107
文章类型: How To
上次修改时间: 06 1月 2026
版本: 9
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。