在 Debian 上排查 Kafka 日志,一般分 Kafka 自身日志、系统/服务日志、以及 Topic 数据日志 三类来看。下面按常见场景说明。
如果你是用 Debian 官方或 Confluent 的 deb 包安装:
# Kafka 日志目录(常见位置)
/var/log/kafka/
# 查看 server 日志
tail -f /var/log/kafka/server.log
# 其他常见日志
/var/log/kafka/controller.log
/var/log/kafka/state-change.log
/var/log/kafka/kafka-authorizer.log
如果你是自己解压的:
cd kafka/logs
tail -f server.log
Debian 一般用 systemd 管理 Kafka:
# 查看 Kafka 服务名(可能不同)
systemctl list-units | grep kafka
# 常见服务名
systemctl status kafka
journalctl -u kafka -f
查看最近 100 行:
journalctl -u kafka -n 100
如果是 Kafka < 3.x 且用 ZooKeeper:
# ZooKeeper 日志
/var/log/zookeeper/zookeeper.log
journalctl -u zookeeper
这是 Kafka 存消息的地方,不是普通日志文件:
# 默认路径(在 server.properties 中)
log.dirs=/var/lib/kafka/data
# 目录结构
/var/lib/kafka/data/<topic>-<partition>/
⚠️ 这些文件 不能直接看内容,要用 Kafka 工具:
kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic test \
--from-beginning
ps aux | grep kafka
netstat -tlnp | grep 9092
grep ERROR /var/log/kafka/server.log
journalctl -u kafka -b
| 类型 | 位置 / 命令 |
|---|---|
| Kafka 运行日志 | /var/log/kafka/server.log |
| systemd 日志 | journalctl -u kafka -f |
| ZooKeeper 日志 | /var/log/zookeeper/ |
| Topic 数据 | log.dirs 配置目录 |
| 消费消息 | kafka-console-consumer.sh |
如果你愿意,可以告诉我:
我可以帮你精准定位日志和问题。