RabbitMQ的默认日志路径为/var/log/rabbitmq/
,包含主进程日志(rabbit@hostname.log
)、升级日志(rabbit@hostname_upgrade.log
)、SASL认证日志(rabbit@hostname_sasl.log
)等。可通过以下命令清理旧日志:
ls -lh
查看修改时间):find /var/log/rabbitmq/ -name "*.log" -mtime +7 -exec rm -f {} \;
systemctl stop rabbitmq-server
rm -f /var/log/rabbitmq/*.log
systemctl start rabbitmq-server
使用logrotate
工具实现日志自动切割、压缩和删除,避免单个日志文件过大。
/etc/logrotate.d/
下新建rabbitmq
文件,内容如下:/var/log/rabbitmq/*.log {
daily # 每天轮转
rotate 7 # 保留最近7个日志文件
compress # 压缩旧日志(节省空间)
missingok # 若日志不存在也不报错
notifempty # 若日志为空则不轮转
sharedscripts # 所有日志处理完再执行脚本
postrotate # 轮转后执行的命令(通知RabbitMQ重新打开日志文件)
systemctl kill -s HUP rabbitmq-server
endscript
}
logrotate -vf /etc/logrotate.d/rabbitmq # 强制立即执行轮转(调试用)
RabbitMQ默认日志级别为info
,会记录大量常规信息(如连接建立、消息发布)。可通过修改配置文件降低日志级别,仅记录错误或警告信息。
/etc/rabbitmq/rabbitmq.conf
(若不存在则新建),添加以下内容:log.file.level = warning # 可选值:debug(调试)、info(默认)、warning(警告)、error(错误)
systemctl restart rabbitmq-server
若日志持续快速增长,可能是由于错误或异常(如连接泄漏、队列积压、权限问题)导致。可通过以下命令查看近期错误日志:
grep -i "error\|warning\|exception" /var/log/rabbitmq/rabbit@$(hostname).log
rabbitmq-plugins enable rabbitmq_management
访问http://服务器IP:15672
(默认账号guest
/guest
),进入“Logs”页面查看日志详情。df -h
监控/var/log
分区空间,若剩余空间低于10%,及时清理或扩容。通过以上方法,可有效解决CentOS上RabbitMQ日志过多的问题,保障系统稳定运行。操作前建议备份重要日志(如cp -r /var/log/rabbitmq/ /backup/
),避免误删关键信息。