Kafka在Ubuntu上的常用监控工具
Kafka自带的命令行工具是最基础的监控手段,无需额外安装,适合快速检查集群状态。常用命令包括:
kafka-topics.sh --list --zookeeper localhost:2181:查看Kafka集群中的Topic列表;kafka-consumer-groups.sh --list --bootstrap-server localhost:9092:列出所有消费者组;kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group <group_id>:查看指定消费者组的详细消费情况(如消费偏移量、lag值)。Kafka通过JMX(Java Management Extensions)暴露内部指标(如吞吐量、延迟、请求队列长度等),可通过以下方式监控:
kafka-server-start.sh)中添加JMX参数(如-Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false);jconsole、VisualVM)连接到Kafka的JMX端口,查看实时指标。这是Ubuntu上Kafka监控的主流组合,适合需要实时监控、告警、可视化的场景:
scrape_interval参数定期从kafka_exporter拉取指标,存储并处理数据;Kafka Manager是雅虎开源的Kafka集群管理工具,提供Web界面,功能包括:
application.conf中的zookeeper.zkhosts参数,指向Zookeeper集群),启动后通过浏览器访问http://<host>:9000即可使用。适合需要直观管理Kafka集群的场景。Kafka Offset Monitor是专为监控消费者组offset设计的轻量级工具,支持:
java -jar命令启动,访问http://<host>:8080查看监控界面。适合需要重点关注消费情况的场景。Kafka Eagle是专门针对Kafka设计的开源监控工具,功能包括:
kafka.eagle.offset.storage=kafka,指定offset存储位置),启动后通过浏览器访问http://<host>:8048使用。适合需要专门监控Kafka且希望有友好界面的场景。SigNoz是开源的应用性能管理(APM)平台,支持全链路监控,包括Kafka集群:
docker-compose up -d);