在 Ubuntu 上监控 Kafka,可以从系统层、Kafka 自身指标、日志、以及可视化工具几个层面来做。下面给你一套比较实用、常见的方案。
适用于快速查看状态,不持久化。
# 查看 topic 列表
kafka-topics.sh --bootstrap-server localhost:9092 --list
# 查看 consumer group 状态
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group your-group
# 查看 broker 信息
kafka-broker-api-versions.sh --bootstrap-server localhost:9092
Kafka 的监控指标主要通过 JMX 暴露。
编辑:
/etc/kafka/server.properties
或启动脚本(如 kafka-server-start.sh):
export JMX_PORT=9999
重启 Kafka:
sudo systemctl restart kafka
验证:
ss -lntp | grep 9999
wget https://github.com/danielqsj/kafka-exporter/releases/download/v1.7.0/kafka-exporter-1.7.0.linux-amd64.tar.gz
tar -xzf kafka-exporter-*.tar.gz
./kafka-exporter --kafka.server=localhost:9092
默认端口:9308
scrape_configs:
- job_name: 'kafka'
static_configs:
- targets: ['localhost:9308']
/var/log/kafka/
重点看:
server.logstate-change.logcontroller.logtail -f /var/log/kafka/server.log
ERRORShutdownUnderReplicatedOffsetOutOfRangetop
htop
df -h
iostat -x 1
ps aux | grep kafka
iotop
✅ JMX + Kafka Exporter
✅ Prometheus + Grafana
✅ 日志 tail + 告警
✅ consumer lag 监控
如果你愿意,我可以:
你现在是单机还是集群?