温馨提示×

如何查看Linux Kafka日志

小樊
45
2026-08-28 04:42:06
栏目: 智能运维

在 Linux 上查看 Kafka 日志,通常分为 Kafka 自身运行日志Kafka 数据日志(消息日志) 两类,下面按常见场景详细说明。


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

这是 Kafka 进程本身产生的日志,用于排查启动、连接、异常等问题。

1️⃣ 查看 Kafka 日志目录(最常见)

Kafka 日志目录由 log4j 配置决定,默认通常在:

cd $KAFKA_HOME/logs

常见文件:

server.log        # Kafka 主进程日志(最重要)
state-change.log
controller.log
kafka-authorizer.log

查看方式:

tail -f server.log

或查看最近 200 行:

tail -n 200 server.log

2️⃣ 通过 systemd 启动的 Kafka

如果是 systemd 管理:

journalctl -u kafka -f

或指定行数:

journalctl -u kafka -n 200

3️⃣ 查看 Kafka 日志配置位置

如果不确定日志在哪:

ps -ef | grep kafka

或查看配置文件:

grep -R "log4j" $KAFKA_HOME/config/

常见配置文件:

$KAFKA_HOME/config/log4j.properties

示例内容:

log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log

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

这是 Kafka 真正存储消息的日志文件,不是“文本日志”。

1️⃣ 数据目录位置

server.properties 决定:

grep "log.dirs" $KAFKA_HOME/config/server.properties

默认通常是:

/tmp/kafka-logs

或:

/var/lib/kafka/data

2️⃣ 数据目录结构

kafka-logs/
├── topic1-0/
│   ├── 00000000000000000000.log
│   ├── 00000000000000000000.index
│   ├── 00000000000000000000.timeindex
├── topic1-1/

⚠️ 注意
这些 .log 文件是 二进制文件,不能直接 cat 查看。


3️⃣ 正确查看消息内容(推荐)

使用 Kafka 自带工具:

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

查看最近 10 条:

kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic test-topic \
  --from-beginning \
  --max-messages 10

三、常见排查场景速查

✅ Kafka 启动失败

tail -f server.log

✅ 消费者无法消费

journalctl -u kafka -f

✅ 查看某个 topic 数据

kafka-console-consumer.sh --topic xxx --from-beginning

✅ 确认 topic 是否存在

kafka-topics.sh --bootstrap-server localhost:9092 --list

四、总结对照表

类型 作用 查看方式
server.log Kafka 运行日志 tail -f server.log
systemd 日志 服务状态 journalctl -u kafka
topic 数据日志 消息存储 kafka-console-consumer
数据目录 消息文件 log.dirs 配置

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

  • Kafka 是 裸机 / Docker / K8s 部署?
  • 想查的是 报错日志 还是 消息内容

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

0