Ubuntu RabbitMQ日志如何查看和分析
导读:Ubuntu 上 RabbitMQ 日志的查看与分析 一 日志位置与类型 默认日志目录为:/var/log/rabbitmq/。常见文件: rabbit@.log:RabbitMQ 应用日志(启动、连接、插件、告警等)。 rabbit@...
Ubuntu 上 RabbitMQ 日志的查看与分析
一 日志位置与类型
- 默认日志目录为:/var/log/rabbitmq/。常见文件:
- rabbit@.log:RabbitMQ 应用日志(启动、连接、插件、告警等)。
- rabbit@-sasl.log:Erlang SASL 日志(节点启动失败、崩溃报告等 Erlang 运行时信息)。
- 可能还会看到:startup_log / startup_err(服务启动过程的输出与错误)。
- 若使用 systemd,服务标准输出/错误也会进入 journald,可用
journalctl检索 RabbitMQ 相关条目。 - 日志文件命名中的 取自节点名,形如 rabbit@myhost。
二 快速查看与检索
- 实时查看主日志:
sudo tail -f /var/log/rabbitmq/rabbit@$(hostname).log
- 分页查看:
less /var/log/rabbitmq/rabbit@$(hostname).log(按 /关键词 搜索,按 n/N 跳转)
- 查看 SASL 日志(Erlang 层错误/崩溃):
less /var/log/rabbitmq/rabbit@$(hostname)-sasl.log
- 查看 systemd 服务日志:
sudo journalctl -u rabbitmq-server.service -f- 或全局检索:
sudo journalctl --system | grep rabbitmq
- 管理界面查看(需启用管理插件):
- 启用:
sudo rabbitmq-plugins enable rabbitmq_management - 访问:http://< 服务器IP> :15672,在 Admin → Logs 查看与下载日志。
- 启用:
三 日志级别与分类调整
- 运行时临时调整(重启后失效):
- 全局设为 debug:
rabbitmqctl set_log_level debug - 恢复 info:
rabbitmqctl set_log_level info
- 全局设为 debug:
- 按类别精细控制(示例:仅调高连接/通道日志,其他保持默认):
- 配置文件(rabbitmq.conf)示例:
log.file.level = info log.connection.level = debug log.channel.level = debug log.upgrade.level = none - 经典配置格式(advanced.config)示例:
[{ rabbit, [{ log, [ { file, [{ level, info} ]} , { categories, [ { connection, [{ level, debug} ]} , { channel, [{ level, debug} ]} , { upgrade, [{ level, none} ]} ]} ]} ]} ].
- 配置文件(rabbitmq.conf)示例:
- 日志级别包含:none、error、warning、info、debug(数值越大输出越详细;默认通常为 info)。
四 日志轮转与保留策略
- 基于文件大小/时间的轮转(在 rabbitmq.conf 中设置):
- 每天午夜轮转并保留 5 个归档:
log.file.rotation.date = $D0 log.file.rotation.count = 5 - 文件达到 10MB 轮转并保留 5 个归档:
log.file.rotation.size = 10485760 log.file.rotation.count = 5
- 每天午夜轮转并保留 5 个归档:
- 发行版包通常已配置 logrotate(如 /etc/logrotate.d/rabbitmq-server),可按周轮转与压缩,避免磁盘占满。
五 消息级日志与问题定位技巧
- 消息轨迹追踪(抓包式记录,谨慎在生产开启):
- 启用插件:
sudo rabbitmq-plugins enable rabbitmq_tracing - 开启追踪:
rabbitmqctl trace_on(指定 vhost:rabbitmqctl trace_on -p < vhost>) - 在管理界面 Admin → Tracing 配置要抓取的 exchange/queue 与级别,便于重现问题。
- 启用插件:
- 通过日志定位常见故障:
- 端口冲突(如 5672 被占用导致节点异常):
- 查看日志:
grep -i "5672\|failed" /var/log/rabbitmq/rabbit@*.log - 解决思路:释放占用端口或修改 RabbitMQ 配置使用其他端口后重启。
- 查看日志:
- 节点无法启动/崩溃:
- 优先查看 -sasl.log 中的 Erlang 崩溃/启动失败信息,再结合主日志上下文分析。
- 端口冲突(如 5672 被占用导致节点异常):
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu RabbitMQ日志如何查看和分析
本文地址: https://pptw.com/jishu/748579.html
