在Debian系统上,Kafka的日志文件位置主要由配置文件和启动脚本决定,常见路径包括:
/var/log/kafka/
(如server.log
,记录Broker核心日志)、/opt/kafka/logs/
(部分自定义安装可能使用);/etc/kafka/server.properties
)中的log.dirs
属性查看(如log.dirs=/data/kafka/logs
),该属性定义了Kafka日志文件的存储目录。cat
命令输出日志文件全部内容(适合小文件):cat /var/log/kafka/server.log
tail -f
命令实时查看日志新增内容(适合故障排查,按Ctrl+C
退出):tail -f /var/log/kafka/server.log
less
命令分页浏览日志(支持上下翻页、搜索,按q
退出):less /var/log/kafka/server.log
grep
和awk
筛选指定时间范围的日志(如最近1小时):grep "$(date -d '1 hour ago' '+%b %d %H:%M')" /var/log/kafka/server.log
bin
目录(通常为/usr/bin/
或/opt/kafka/bin/
),运行kafka-log-dirs.sh
脚本查看日志目录信息(需指定ZooKeeper地址):./kafka-log-dirs.sh --describe --zookeeper localhost:2181
该命令会输出每个日志目录的最新偏移量、日志大小等信息。kafka-console-consumer.sh
脚本直接消费主题消息(从最早消息开始,--bootstrap-server
指定Broker地址):./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic your_topic_name --from-beginning
将your_topic_name
替换为目标主题名称。Kafka的日志文件(如.log
、.index
、.timeindex
)为二进制格式,需使用kafka-dump-log.sh
脚本解析:
.log
文件内容(包含消息的时间戳、偏移量、内容):./kafka-dump-log.sh --files /data/kafka/logs/your_topic-0/00000000000000000000.log
.index
文件(记录消息偏移量索引):./kafka-dump-log.sh --files /data/kafka/logs/your_topic-0/00000000000000000000.index
.timeindex
文件(记录消息时间戳索引):./kafka-dump-log.sh --files /data/kafka/logs/your_topic-0/00000000000000000000.timeindex
sudo
提升权限,如sudo tail -f /var/log/kafka/server.log
);server.log
)可能增加系统负载,建议在低峰期操作;tar
压缩),防止数据丢失。