KafkaOffsetMonitor监控

介绍

  KafkaOffsetMonitor是有由Kafka开源社区提供的一款Web管理界面,这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,你能够经过浏览当前的消费者组,而且每一个Topic的全部Partition的消费状况均可以观看的一清二楚。它让咱们很直观的知道,每一个Partition的Message是否消费掉,有木有阻塞等等。java

  这个Web管理平台保留的Partition、Offset和它的Consumer的相关历史数据,咱们能够经过浏览Web管理的相关模块,清楚的知道最近一段时间的消费状况。app

  该Web管理平台有如下功能:spa

  1.Consumer的消费监控,并列出每一个ConsumerOffset数据3d

  2.保护消费者组列表信息code

  3.每一个Topic的全部Partition列表包含:TopicPidOffsetLogSizeLag以及Owner等等orm

  4.浏览查阅Topic的历史消费信息blog

下载

  GitHub上面有源码的jar包,放到对应的目录就能够了,因为咱们使用新版本的kafka,因此也要使用最新的代码,在kafka中国社区能够下载最新的0.3的版本。地址:http://pan.baidu.com/s/1kUZJrCV
资源

安装部署

  KafkaOffsetMonitor的安装部署较为简单,全部的资源都打包到一个JAR文件中了,所以,直接运行便可,省去了咱们去配置。这里咱们能够新建一个目录单独用于Kafka的监控目录,我这里新建一个kafka_monitor文件目录,而后咱们在准备启动脚本文档

脚本内容以下所示:部署

java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar                 
  com.quantifind.kafka.offsetapp.OffsetGetterWeb   --offsetStorage kafka   --zk localhost:2181   --port 7070   --refresh 10.seconds   --retain 2.days
 
启动方式2,建立脚本,由于您可能不是一个kafka集群。用脚本能够启动多个。
nohup java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m 
    -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar     
    com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage kafka --zk 127.0.0.1:2181 --port 8080 --refresh 10.seconds --retain 2.days 1>mobile-logs/stdout.log 2>mobile-logs/stderr.log &

 

各个参数的含义:
  • offsetStorage:有效的选项是"zookeeper","kafka","storm"。0.9版本之后,offset存储的位置在kafka。
  • zk: zookeeper的地址
  • prot 端口号
  • refresh 刷新频率,更新到DB。
  • retain 保留DB的时间
  • dbName 在哪里存储记录(默认'offsetapp')

启动

  • 步骤1:启动ZK(集群配置依次启动)
  • 步骤2:启动Kafka服务(详情见kakfa环境搭建文档)
  • 步骤3:启动Web监控服务(按照安装部署脚本执行)

运行

消费组列表

 

 

 

 

 

 

消费组Topic列表

 

 

 

 

 

 

 

 

 

 

 

topic的历史位置


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Offset存储位置

  kafka能灵活地管理offset,能够选择任意存储和格式来保存offset。KafkaOffsetMonitor目前支持如下流行的存储格式。

  • kafka0.8版本之前,offset默认存储在zookeeper中(基于Zookeeper)
  • kafka0.9版本之后,offset默认存储在内部的topic中(基于Kafka内部的topic)
  • Storm Kafka Spout(默认状况下基于Zookeeper)

  KafkaOffsetMonitor每一个运行的实例只能支持单一类型的存储格式。

相关文章
相关标签/搜索