CentOS 上 RabbitMQ 日志管理策略
一 日志体系与默认路径
rabbitmq-diagnostics -q log_location二 日志级别与输出目标
[ {rabbit, [ {log_levels, [ {connection, warning} ]} ]} ].
[ {rabbit, [ {log_levels, [ {connection, warning} ]} ]} ].
RABBITMQ_LOGS=/data/logs/rabbitmq.log
RABBITMQ_SASL_LOGS=/data/logs/rabbitmq-sasl.log
LOG_BASE=/data/logs/rabbitmq
systemctl restart rabbitmq-server。三 日志轮转与保留实践(rsyslog 方案)
# 以节点名区分文件(如 rabbit@node1)
template(name="RabbitMQFile" type="string"
string="/var/log/rabbitmq/%programname%.log")
if $programname startswith "rabbit" then {
action(type="omfile" dynaFile="RabbitMQFile"
fileCreateMode="0644" dirCreateMode="0755"
flushInterval="1" asyncWriting="off")
# 按大小轮转:100MB,保留 7 份
action(type="rotate" file="/var/log/rabbitmq/rabbit.log"
size="100M" rotate="7"
compress="on" missingok="on" copytruncate="on")
stop
}
ForwardToSyslog=yes 将服务日志送入 rsyslog 再按上述策略轮转。四 审计与追踪日志
五 变更路径与容量规划
mkdir -p /data/rabbitmq/{data,log}
chown -R rabbitmq:rabbitmq /data/rabbitmq
RABBITMQ_MNESIA_BASE=/data/rabbitmq/data
RABBITMQ_LOG_BASE=/data/rabbitmq/log
systemctl restart rabbitmq-serverrabbitmq-diagnostics -q log_location 应指向新目录。disk_free_limit);当可用空间低于阈值会触发流控。vm_memory_high_watermark_paging_ratio 调整内存向磁盘换页的触发点。