在 Debian 上配置 Kafka 日志(包括运行日志和业务消息日志)通常分两部分:
Kafka 使用 Log4j(老版本)或 Log4j2(新版本)记录自身运行日志。
/etc/kafka/
├── server.properties
├── log4j.properties # 老版本
└── log4j2.yaml / xml # 新版本
如果你是通过 apt 安装的 Kafka(如 confluent 或 bitnami),一般在:
/etc/kafka/log4j.properties
如果是官网二进制包:
$KAFKA_HOME/config/log4j.properties
log4j.rootLogger=INFO, stdout, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/kafka/kafka.log
log4j.appender.file.MaxFileSize=100MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{1} - %m%n
常见日志级别:
DEBUG:调试INFO:默认WARNERROR例如只想要 ERROR:
log4j.rootLogger=ERROR, file
sudo mkdir -p /var/log/kafka
sudo chown -R kafka:kafka /var/log/kafka
sudo systemctl restart kafka
这部分是 消息存储路径,不是普通日志。
sudo nano /etc/kafka/server.properties
关键参数:
log.dirs=/var/lib/kafka/data
# 单日志段大小
log.segment.bytes=1073741824
# 保留时间(小时)
log.retention.hours=168
# 保留大小
log.retention.bytes=10737418240
sudo mkdir -p /var/lib/kafka/data
sudo chown -R kafka:kafka /var/lib/kafka
sudo systemctl restart kafka
如果你是 apt 安装,可加 logrotate:
sudo nano /etc/logrotate.d/kafka
示例:
/var/log/kafka/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
查看 Kafka 状态:
journalctl -u kafka -f
查看运行日志:
tail -f /var/log/kafka/kafka.log
如果你能告诉我:
我可以给你精准配置示例。