在 Debian 上监控 Kafka,通常可以从 Kafka 自带指标 + 可视化监控工具 两条路走。下面给你一套实用方案,从简单到完整。
Kafka 本身通过 JMX 暴露大量监控指标。
编辑 Kafka 启动脚本(如 bin/kafka-server-start.sh 或 systemd 配置):
export JMX_PORT=9999
或用 systemd(/etc/systemd/system/kafka.service):
[Service]
Environment="JMX_PORT=9999"
重启 Kafka:
sudo systemctl restart kafka
验证:
ss -lntp | grep 9999
bin/kafka-topics.sh --describe --bootstrap-server localhost:9092
bin/kafka-consumer-groups.sh --describe --group my-group --bootstrap-server localhost:9092
sudo apt install jmxterm
java -jar jmxterm.jar
> open localhost:9999
> beans
sudo apt install -y wget
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
sudo mv kafka-exporter /usr/local/bin/
启动:
kafka-exporter --kafka.server=localhost:9092
默认端口:9308
sudo apt install -y prometheus
编辑 /etc/prometheus/prometheus.yml:
scrape_configs:
- job_name: kafka
static_configs:
- targets: ['localhost:9308']
重启:
sudo systemctl restart prometheus
访问:
http://<IP>:9090
sudo apt install -y grafana
sudo systemctl enable --now grafana-server
访问:
http://<IP>:3000
导入 Kafka 仪表盘(ID):
docker run -d -p 8080:8080 \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=localhost:9092 \
provectuslabs/kafka-ui
浏览器访问:
http://<IP>:8080
适合多集群管理,但不如 Grafana 直观。
| 场景 | 推荐 |
|---|---|
| 快速看状态 | kafka-consumer-groups |
| 单机学习 | Kafka UI |
| 生产环境 | Prometheus + Grafana |
| 多集群 | CMAK |
如果你愿意,我可以:
你现在是 学习用还是生产环境?