1.概述

  前面给大家介绍了Kafka的背景以及一些应用场景,并附带上演示了Kafka的简单示例。然后,在开发的过程当中,我们会发现一些问题,那就是消息的监控情况。虽然,在启动Kafka的相关服务后,我们生产消息和消费消息会在终端控制台显示这些记录信息,但是,这样始终不够友好,而且,在实际开发中,我们不会有权限去一直观看终端控制台,那么今天就为大家来介绍Kafka的一个监控系统——KafkaOffsetMonitor。下面是今天所分享的目录内容:

  • KafkaOffsetMonitor简述
  • KafkaOffsetMonitor安装部署
  • KafkaOffsetMonitor运行预览

  下面开始今天的内容分享。

2.KafkaOffsetMonitor简述

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

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

  该Web管理平台有以下功能:

  • 对Consumer的消费监控,并列出每个Consumer的Offset数据
  • 保护消费者组列表信息
  • 每个Topic的所有Partition列表包含:Topic、Pid、Offset、LogSize、Lag以及Owner等等
  • 浏览查阅Topic的历史消费信息

  这些功能对于我们开发来说,已经绰绰有余了。

3.KafkaOffsetMonitor安装部署

3.1下载

  在安装KafkaOffsetMonitor管理平台时,我们需要先下载其安装包,其资源可以在Github上找到,考虑到Github访问的限制问题,我将安装包上传到百度云盘:

  《下载地址

3.2安装部署

  KafkaOffsetMonitor的安装部署较为简单,所有的资源都打包到一个JAR文件中了,因此,直接运行即可,省去了我们去配置。这里我们可以新建一个目录单独用于Kafka的监控目录,我这里新建一个kafka_monitor文件目录,然后我们在准备启动脚本,脚本内容如下所示:

  1. #! /bin/bash
  2. java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
  3. com.quantifind.kafka.offsetapp.OffsetGetterWeb \
  4. --zk dn1:2181,dn2:2181,dn3:2181 \
  5. --port 8089 \
  6. --refresh 10.seconds \
  7. --retain 1.days

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

3.3启动

  接下来,我们开始启动,启动步骤如下所示:

  • 步骤1:启动ZK(DN1~DN3节点)
  1. zkServer.sh start
  • 步骤2:启动Kafka服务(集群依次输入以下命令启动)
  1. kafka-server-start.sh config/server.properties &
  • 步骤3:启动Web监控服务
  1. java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
  2. com.quantifind.kafka.offsetapp.OffsetGetterWeb \
  3. --zk dn1:2181,dn2:2181,dn3:2181 \
  4. --port 8089 \
  5. --refresh 10.seconds \
  6. --retain 1.days

  Web服务启动成功后,如下图所示:

4.KafkaOffsetMonitor运行预览

  下面,我们来使用Kafka代码生产消费一些消息,使用Web监控来浏览消息情况。生产的代码大家可以参考前面我写的《Kafka实战-简单示例》,这里直接预览演示结果,如下图所示:

5.总结

  在运行KafkaOffsetMonitor的JAR包时,需要确保启动参数的配置正确,以免启动出错,另外,Github的上的KafkaOffsetMonitor的JAR中的静态资源有些链接用到了Google的超链接,所有如果直接只用,若本地木有代理软件会启动出错,这里使用我所提供的JAR,这个JAR是经过静态资源改版后重新编译的使用本地静态资源。

  另外图中的一些参数的含义如下:

  • Topic:创建Topic名称
  • Partition:分区编号
  • Offset:表示该Parition已经消费了多少Message
  • LogSize:表示该Partition生产了多少Message
  • Lag:表示有多少条Message未被消费
  • Owner:表示消费者
  • Created:表示该Partition创建时间
  • Last Seen:表示消费状态刷新最新时间

转自

KafkaOffsetMonitor - HackerVirus - 博客园
http://www.cnblogs.com/Leo_wl/p/4564699.html#_label4

Kafka监控KafkaOffsetMonitor【转】的更多相关文章

  1. 大数据系列之kafka监控kafkaoffsetmonitor安装

    1.下载kafkaoffsetmonitor的jar包,可以到github搜索kafkaoffsetmonitor,第一个就是,里面可以下载编译好了的包. KafkaOffsetMonitor-ass ...

  2. 【转】apache kafka监控系列-KafkaOffsetMonitor

    apache kafka监控系列-KafkaOffsetMonitor 时间 2014-05-27 18:15:01  CSDN博客 原文  http://blog.csdn.net/lizhitao ...

  3. kafka监控之KafkaOffsetMonitor

    参考自:http://www.cnblogs.com/sunxucool/p/3904850.html 流行的kafka监控有kafka-web-console.KafkaOffsetMonitor. ...

  4. apache kafka监控系列-KafkaOffsetMonitor(转)

    原文链接:apache kafka监控系列-KafkaOffsetMonitor 概览 最 近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总觉得缺少点什么东西, ...

  5. kafka监控系统

    Metrics-Java版的指标度量工具之一 Metrics-Java版的指标度量工具之二 JAVA Metrics 度量工具使用介绍1 JAVA Metrics度量工具 - Metrics Core ...

  6. 关于Kafka监控方案的讨论

    之前在知乎上尝试过回答这个问题,后来问的人挺多,干脆在博客里面保存一下. 目前Kafka监控方案看似很多,然而并没有一个"大而全"的通用解决方案.各家框架也是各有千秋,以下是我了解 ...

  7. DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优

    胡夕 <Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...

  8. Kafka监控框架介绍

    前段时间在想Kafka怎么监控.怎么知道生产的消息或消费的消费是否有丢失,目前有几个开源的Kafka监控框架这里整理了下,不过这几个框架都有各自的问题侧重点不一样: 1.Kafka Monitor 2 ...

  9. Kafka设计解析(二十三)关于Kafka监控方案的讨论

    转载自 huxihx,原文链接 关于Kafka监控方案的讨论 目前Kafka监控方案看似很多,然而并没有一个“大而全”的通用解决方案.各家框架也是各有千秋,以下是我了解到的一些内容: 一.Kafka ...

随机推荐

  1. Java测试Junit

    Junit就是做测试用的,想想平常我们是怎么测试我们的方法或者类的,是不是在main方法里面去调用?这样有缺点: 1.每次都要在main方法里面写测试,假如我要上线新系统,里面有1000个方法需要测试 ...

  2. java io系列20之 PipedReader和PipedWriter

    本章,我们学习PipedReader和PipedWriter.它们和“PipedInputStream和PipedOutputStream”一样,都可以用于管道通信. PipedWriter 是字符管 ...

  3. C++回顾day02---<拷贝构造函数:重点>

    一:补充---无参构造函数(默认无参构造函数)在实例化对象时注意点 (一)若没有写构造函数,则类会含有一个默认无参构造函数 (二)若自定义一个构造函数,则类不会提供默认构造函数 class A { p ...

  4. cmd命令查看当前IIS运行的网站iisapp appcmd

    xp,2003中用的命令是:iisapp -a 2007,2008,2012系统中: cmd命令行进入%windir%\system32\inetsrv\目录下 运行appcmd.exe list w ...

  5. Linux下C语言连接MySQL

    本文出自   http://blog.csdn.net/shuangde800 首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-cl ...

  6. Nginx 学习笔记(六)引入线程池 性能提升9倍

    原文地址:https://www.cnblogs.com/shitoufengkuang/p/4910333.html 一.前言 1.Nignx版本:1.7.11 以上 2.NGINX采用了异步.事件 ...

  7. cxf与spring的整合

    cxf与spring的整合: 一:服务端相关配置(配置好后启动tomocat就自动发布了接口,浏览器打开验证下) 1:导入cxf以及spring的相关jar包; 2:在web.xml中增加配置: 代码 ...

  8. [Android] Android 注解绑定UI View组件库 ButterKnife 的使用

    ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神JakeW ...

  9. Java - 网络编程完全总结

    本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程. 一.概述 ...

  10. Java入门系列 Lambda表达式

    https://blog.csdn.net/bitcarmanlee/article/details/70195403