一、背景介绍
Kafka是一个高吞吐量的分布式消息系统,同时具备高可靠性、高扩展性、基于Zookeeper保证Kafka集群状态的分布式特性等优点,得到越来越广泛的应用。在Kafka应用中,常常会遇到消费者消费数据不及时或消费者消费不均衡等问题。这时候就需要监控消费者组的lag情况来诊断问题。而KafkaLag这个工具正是解决监控Kafka消费者组的lag情况而生的。
二、安装KafkaLag
1、通过下载源码安装最新的release包
git clone https://github.com/quantifind/KafkaOffsetMonitor.git
cd KafkaOffsetMonitor
sbt assembly
2、通过docker安装
docker pull quantifind/kafka-offset-monitor
三、运行KafkaLag
1、使用source包
java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk zkhost1 \
--port 8080 \
--refresh 10.minutes \
--retain 2.days
2、使用docker
docker run -d \
-e ZOOKEEPER_CONNECT='zk://host:port/kafka' \
-e KAFKA_OFFSET_MONITOR_GROUPID='offset-monitor' \
-e KAFKA_OFFSET_MONITOR_TOPIC='__consumer_offsets' \
-e KAFKA_OFFSET_MONITOR_CONSUMER='kafka-offset-monitor' \
-p 8080:8080 \
quantifind/kafka-offset-monitor:latest
四、使用KafkaLag
打开浏览器,输入http://hostname:8080,即可看到如下页面
左侧可以看到所有的支持的集群信息,点击某个集群,会进入到该集群的Offset Details界面,右侧是该集群的消费者组信息
点击消费者组,可以进入到该消费者组的Consumer Details页面,包括每个消费者的lag及offset信息
五、总结
KafkaLag是一个非常好用的Kafka消费端lag监控利器,提供了可视化的监控界面,方便开发人员及时发现和定位消费者消费吞吐量不足及消费者消费不均衡等问题。通过本篇文章对KafkaLag的介绍,希望能够帮助大家更好地使用这个工具。