首页 > 技术文章 > kafka消息监控-KafkaOffsetMonitor

yinchengzhe 2016-01-12 10:29 原文

参照site:https://github.com/quantifind/KafkaOffsetMonitor

一、简述

  这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,我们可以浏览当前的消费者组,并且每个Topic的所有Partition的消费情况都可以观看的一清二楚。

  它让我们很直观的知道,每个Partition的Message是否消费掉,有没有阻塞等等。

  这个Web管理平台保留的Partition、Offset和它的Consumer的相关历史数据,我们可以通过浏览Web管理的相关模块,清楚的知道最近一段时间的消费情况。

二、下载

  Here 是github提供的下载地址,经测试不能友好运行,后来查阅才知道这个jar包中有谷歌的超链接。

  我将前辈编译过后的jar已存入盘,方便使用。下载地址

  (如果你会编译修改,请不吝赐教!谢谢!!!)

三、安装

  KafkaOffsetMonitor的安装部署较为简单,所有的资源都打包到一个JAR文件中了,因此,直接运行即可,省去了我们去配置。这里我们可以新建一个目录单独用于Kafka的监控目录,

  我这里新建一个kafka_monitor文件目录,然后我们在准备启动脚本,脚本内容如下所示:

    #! /bin/bash

    java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
    com.quantifind.kafka.offsetapp.OffsetGetterWeb \
    --zk h1:2181 \
    --port 8089 \
    --refresh 10.seconds \
    --retain 1.days

  解释以下这条启动命令的含义,首先我们需要指明运行Web监控的类,然后需要用到ZooKeeper,所有要填写ZK集群信息,接着是Web运行端口,页面数据刷新的时间以及保留数据的时间值

  

四、启动

  1.启动zookeeper:

    > bin/zkServer.sh start

  2.启动kafka:

    > bin/kafka-server-start.sh config/server.properties

  3.启动web监控:

    > sh monitor_start.sh

五、KafkaOffsetMonitor运行预览

  本人是通过远程登录Linux系统查看的。登录方式 参考我之前写的 《使用XRDP实现Windows远程桌面Linux系统》

  消费组:

  

  topic的所有partiton消费情况列表、

  

  以上图中参数含义解释如下:

   topic:创建时topic名称

   partition:分区编号

   offset:表示该parition已经消费了多少条message

   logSize:表示该partition已经写了多少条message

   Lag:表示有多少条message没有被消费。

   Owner:表示消费者

   Created:该partition创建时间

   Last Seen:消费状态刷新最新时间。

 

  kafka正在运行的topic

  

  kafka集群topic列表

  

  kafka集群broker列表

  

推荐阅读