温馨提示×

怎样查看linux kafka日志

小樊
63
2026-09-11 06:44:44
栏目: 智能运维

在 Linux 上查看 Kafka 日志,通常分两种情况:Kafka 自身运行日志 和 Kafka Topic 消息日志。下面按常见场景说明。


一、Kafka 运行日志(服务日志)

Kafka 使用 log4j(老版本)或 log4j2 / reload4j(新版本)输出日志。

1. 默认日志位置

通常在 Kafka 安装目录下:

cd $KAFKA_HOME/logs
ls

常见文件:

  • server.log:Kafka 主服务日志(最重要)
  • controller.log:控制器相关
  • state-change.log:状态变更
  • kafka-authorizer.log:权限相关

2. 实时查看日志

tail -f $KAFKA_HOME/logs/server.log

3. 查看错误日志

grep ERROR $KAFKA_HOME/logs/server.log

4. 日志路径配置位置

在配置文件中:

vi $KAFKA_HOME/config/server.properties

相关配置:

log.dirs=/data/kafka-logs

⚠️ 注意:log.dirs 是 消息日志目录,不是运行日志目录。


二、Kafka Topic 消息日志(数据日志)

1. 查看消息存储目录

log.dirs=/data/kafka-logs

查看某个 topic:

ls /data/kafka-logs | grep my-topic

目录结构示例:

my-topic-0/
my-topic-1/

2. 查看消息内容(最重要)

不能直接 cat 文件(是二进制),要用 Kafka 自带工具:

kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic my-topic \
  --from-beginning

只查看最新消息:

kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic my-topic

3. 查看某个分区消息

kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic my-topic \
  --partition 0 \
  --from-beginning

三、系统日志(如果用 systemd)

如果是系统服务方式启动:

journalctl -u kafka -f

或:

systemctl status kafka

四、常用排查命令汇总

# 查看 broker 是否启动
jps | grep Kafka

# 查看 topic 列表
kafka-topics.sh --bootstrap-server localhost:9092 --list

# 查看 topic 详情
kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic my-topic

五、常见问题对应日志

问题 看哪里
Kafka 启不来 server.log
消费者消费不到 server.log + consumer 日志
消息丢失 topic 日志 + offset
磁盘满 log.dirs 目录

如果你愿意,可以告诉我:

  • Kafka 版本
  • 是 自建 还是 容器 / CDH / 云 Kafka
  • 具体想查什么问题(启动失败 / 消费不到 / 消息异常)

我可以给你更精确的命令。

0 踩