Ubuntu Kafka 日志配置与管理
一 核心概念与目录
二 服务端日志配置 Log4j
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=/var/log/kafka/server.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L - %m%n
log4j.appender.R.MaxFileSize=100MB
log4j.appender.R.MaxBackupIndex=7
export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:/opt/kafka/config/log4j.properties"
bin/kafka-server-start.sh config/server.properties
三 消息日志保留与清理策略 server.properties
log.dirs=/var/log/kafka
log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=104857600
log.roll.hours=1
log.cleanup.policy=delete
log.cleaner.enable=true
compression.type=snappy
四 系统级日志轮转 logrotate
/var/log/kafka/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0644 kafka kafka
sharedscripts
postrotate
# 若 Kafka 支持 USR1 触发重新打开日志文件(按实际进程调整)
[ -f /var/run/kafka.pid ] && kill -USR1 $(cat /var/run/kafka.pid) 2>/dev/null || true
endscript
}
五 监控与日常维护
export KAFKA_OPTS="-javaagent:/opt/jmx_prometheus_javaagent-0.18.0.jar=9090:/opt/kafka.yml"
bin/kafka-server-start.sh config/server.properties