RabbitMQ在Ubuntu上的日志管理
导读:Ubuntu 上 RabbitMQ 日志管理 一 日志位置与快速查看 默认日志目录为:/var/log/rabbitmq/。常见文件包括:.log(主日志)、-sasl.log(Erlang SASL 日志)、startup_log、st...
Ubuntu 上 RabbitMQ 日志管理
一 日志位置与快速查看
- 默认日志目录为:/var/log/rabbitmq/。常见文件包括:.log(主日志)、-sasl.log(Erlang SASL 日志)、startup_log、startup_err。在 Ubuntu 包安装环境下,可直接查看这些文件定位启动、运行期错误与告警。示例:
- 查看主日志:
sudo tail -f /var/log/rabbitmq/rabbit@$(hostname).log - 查看 SASL 日志:
sudo tail -f /var/log/rabbitmq/rabbit@$(hostname)-sasl.log - 查看启动日志:
sudo cat /var/log/rabbitmq/startup_log与sudo cat /var/log/rabbitmq/startup_err
- 查看主日志:
- 若遇到节点连通性问题(如
rabbitmqctl status报 “nodedown”),优先检查上述日志以发现端口冲突、权限或节点名称解析等根因。
二 日志轮转与保留策略
- 内置轮转(推荐优先使用):在 /etc/rabbitmq/rabbitmq.conf 中配置
- 按大小轮转:
log.file.rotation.size = 10485760(单位字节,示例为 10 MB) - 保留个数:
log.file.rotation.count = 5(示例保留 5 个归档) - 动态生效,无需重启节点(按配置热加载)。
- 按大小轮转:
- 系统级 logrotate(Debian/RPM 包默认提供):位于 /etc/logrotate.d/rabbitmq-server,通常按周轮转并清理旧日志。可按需调整频率、压缩与保留策略,以配合磁盘容量规划。
三 日志级别与输出目标
- 日志级别(数值越大输出越多):none(0)、critical(4)、error(8)、warning(16)、info(64)、debug(128)。默认通常为 info。建议生产环境保持 info/warn,仅在排障时短时开启 debug。
- 设置方式
- 配置文件(永久生效,需重启):在 /etc/rabbitmq/rabbitmq.conf 中设置
- 全局默认级别:
log.default.level = info - 按模块细粒度:
log.console.level = warning、log.file.level = info等
- 全局默认级别:
- CLI 动态(临时生效):
rabbitmqctl set_log_level info|warning|error|debug
- 配置文件(永久生效,需重启):在 /etc/rabbitmq/rabbitmq.conf 中设置
- 输出目标与格式
- 目标:文件(默认)、控制台、syslog;可通过
log.file = true/false、log.console = true/false、log.syslog = true/false开关 - 结构化日志:将日志格式化为 JSON 便于采集分析
log.file.formatter = json- 或分别设置
log.console.formatter = json、log.syslog.formatter = json。
- 目标:文件(默认)、控制台、syslog;可通过
四 自定义日志目录与系统配置
- 配置文件方式:在 /etc/rabbitmq/rabbitmq.conf 中设置
log.dir = /data/rabbitmq/log(自定义日志根目录)- 配合
log.file = true使用;注意该值可被环境变量覆盖。
- 环境变量方式(优先级更高):在 /etc/rabbitmq/rabbitmq-env.conf 或 systemd 环境文件中设置
RABBITMQ_LOG_BASE=/data/rabbitmq/logRABBITMQ_LOGS=/data/rabbitmq/log/rabbit@$(hostname).log- 修改后需重启服务:
sudo systemctl restart rabbitmq-server
- 变更前确保目录存在且 rabbitmq 用户具备读写权限,避免因权限不足导致启动失败或日志写入异常。
五 消息轨迹与审计(按需开启)
- RabbitMQ Tracing 插件可把消息的 publish/consume 事件写入日志或转发到交换机,便于端到端排查
- 启用插件:
sudo rabbitmq-plugins enable rabbitmq_tracing - 开启跟踪:
sudo rabbitmqctl trace_on(指定 vhost:sudo rabbitmqctl trace_on -p < vhost>) - 关闭跟踪:
sudo rabbitmqctl trace_off - 管理界面:启用 rabbitmq_management 后,在 Admin → Tracing 配置与查看
- 启用插件:
- 影响提示:开启 trace 会显著影响性能与磁盘占用,建议短时使用并严格控制保留周期。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: RabbitMQ在Ubuntu上的日志管理
本文地址: https://pptw.com/jishu/752995.html
