Kafka监控工具KafkaOffsetMonitor配置及使用

      KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便。源项目Github地址为: https://github.com/quantifind/KafkaOffsetMonitor 。 
  

一、KafkaOffsetMonitor的使用

  因为完全没有安装配置的过程,所以直接从KafkaOffsetMonitor的使用开始。 
  将KafkaOffsetMonitor-assembly-0.2.0.jar上传到服务器后,可以新建一个脚本用于启动该应用。脚本内容如下:

java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
    com.quantifind.kafka.offsetapp.OffsetGetterWeb \
    --zk m000:2181,m001:2181,m002:2181 \
    --port 8088 \
    --refresh 10.seconds \
    --retain 2.days
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

  各参数的作用可以参考一下Github上的描述:

  • offsetStorage valid options are ”zookeeper”, ”kafka” or ”storm”. Anything else falls back to ”zookeeper”
  • zk the ZooKeeper hosts
  • port on what port will the app be available
  • refresh how often should the app refresh and store a point in the DB
  • retain how long should points be kept in the DB
  • dbName where to store the history (default ‘offsetapp’)
  • kafkaOffsetForceFromStart only applies to ”kafka” format. Force KafkaOffsetMonitor to scan the commit messages from start (see notes below)
  • stormZKOffsetBase only applies to ”storm” format. Change the offset storage base in zookeeper, default to ”/stormconsumers” (see notes below)
  • pluginsArgs additional arguments used by extensions (see below)

      启动后,访问m000:8088端口,可以看到如下页面: 
      Kafka监控工具KafkaOffsetMonitor配置及使用_第1张图片
      在这个页面上,可以看到当前Kafka集群中现有的Consumer Groups。

    在上图中有一个Visualizations选项卡,点击其中的Cluster Overview可以查看当前Kafka集群的Broker情况 
    Kafka监控工具KafkaOffsetMonitor配置及使用_第2张图片

二、KafkaOffsetMonitor页面

        创建好生产、消费队列后

(1)在Topic List选项卡中,我们可以看到相应的topic
  Kafka监控工具KafkaOffsetMonitor配置及使用_第3张图片
(2)点开后,能看到有一个console-consumer正在消费该topic 
  Kafka监控工具KafkaOffsetMonitor配置及使用_第4张图片
(3)继续进入该Consumer,可以查看该Consumer当前的消费状况 
  Kafka监控工具KafkaOffsetMonitor配置及使用_第5张图片
  这张图片的左上角显示了当前Topic的生产速率,右上角显示了当前Consumer的消费速率。 
  图片中还有三种颜色的线条,蓝色的表示当前Topic中的Message数目,灰色的表示当前Consumer消费的offset位置,红色的表示蓝色灰色的差值,即当前Consumer滞后于Producer的message数目。 
(4)看一眼各partition中的message消费情况 
  Kafka监控工具KafkaOffsetMonitor配置及使用_第6张图片

注意事项: 
  注意这里有一个坑,默认情况下Producer往一个不存在的Topic发送message时会自动创建这个Topic。由于在这个封装中,有同时传递message和topic的情况,如果调用方法时传入的参数反了,将会在Kafka集群中自动创建Topic。在正常情况下,应该是先把Topic根据需要创建好,然后Producer往该Topic发送Message,最好把Kafka这个默认自动创建Topic的功能关掉。 
  那么,假设真的不小心创建了多余的Topic,在删除时,会出现“marked for deletion”提示,只是将该topic标记为删除,使用list命令仍然能看到。如果需要调整这两个功能的话,在server.properties中配置如下两个参数:

参数 默认值 作用
auto.create.topics.enable true Enable auto creation of topic on the server
delete.topic.enable false Enables delete topic. Delete topic through the admin tool will have no effect if this config is turned off

你可能感兴趣的:(大数据,Flume)