Kafka实战-KafkaOffsetMonitor

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文件目录,然后我们在准备启动脚本,脚本内容如下所示:

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

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

3.3启动

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

  • 步骤1:启动ZK(DN1~DN3节点)
zkServer.sh start
  • 步骤2:启动Kafka服务(集群依次输入以下命令启动)
kafka-server-start.sh config/server.properties & 
  • 步骤3:启动Web监控服务
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
 com.quantifind.kafka.offsetapp.OffsetGetterWeb \
 --zk dn1:2181,dn2:2181,dn3:2181 \
 --port 8089 \
 --refresh 10.seconds \
 --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:表示消费状态刷新最新时间

6.结束语

  这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

时间: 2024-09-22 15:35:36

Kafka实战-KafkaOffsetMonitor的相关文章

Kafka实战-Flume到Kafka

1.概述 前面给大家介绍了整个Kafka项目的开发流程,今天给大家分享Kafka如何获取数据源,即Kafka生产数据.下面是今天要分享的目录: 数据来源 Flume到Kafka 数据源加载 预览 下面开始今天的分享内容. 2.数据来源 Kafka生产的数据,是由Flume的Sink提供的,这里我们需要用到Flume集群,通过Flume集群将Agent的日志收集分发到 Kafka(供实时计算处理)和HDFS(离线计算处理).关于Flume集群的Agent部署,这里就不多做赘述了,不清楚的同学可以参

Kafka实战-简单示例

1.概述 上一篇博客<Kafka实战-Kafka Cluster>中,为大家介绍了Kafka集群的安装部署,以及对Kafka集群Producer/Consumer.HA等做了相关测试,今天我们来开发一个Kafka示例,练习如何在Kafka中进行编程,下面是今天的分享的目录结构: 开发环境 ConfigureAPI Consumer Producer 截图预览 下面开始今天的内容分享. 2.开发环境 在开发Kafka相关应用之前,我们得将Kafka得开发环境搭建完成,这里我所使用得开发环境如下所

Kafka实战-Storm Cluster

1.概述 在<Kafka实战-实时日志统计流程>一文中,谈到了Storm的相关问题,在完成实时日志统计时,我们需要用到Storm去消费Kafka Cluster中的数据,所以,这里我单独给大家分享一篇Storm Cluster的搭建部署.以下是今天的分享目录: Storm简述 基础软件 安装部署 效果预览 下面开始今天的内容分享. 2.Storm简述 Twitter将Storm开源了,这是一个分布式的.容错的实时计算系统,已被贡献到Apache基金会,下载地址如下所示: http://stor

Kafka实战-实时日志统计流程

1.概述 在<Kafka实战-简单示例> 一文中给大家介绍来Kafka的简单示例,演示了如何编写Kafka的代码去生产数据和消费数据,今天给大家介绍如何去整合一个完整的项目,本篇博客我打 算为大家介绍Flume+Kafka+Storm的实时日志统计,由于涉及的内容较多,这里先给大家梳理一个项目的运用这些技术的流程.下面是今天的内容 目录: 项目流程 Flume Kafka Storm 下面开始今天的内容分享. 2.项目流程 在整合这套方案的时候,项目组也是经过一番讨论,在讨论中,观点很多,有人

Kafka实战-Kafka到Storm

1.概述 在<Kafka实战-Flume到Kafka>一文中给大家分享了Kafka的数据源生产,今天为大家介绍如何去实时消费Kafka中的数据.这里使用实时计算的模型--Storm.下面是今天分享的主要内容,如下所示: 数据消费 Storm计算 预览截图 接下来,我们开始分享今天的内容. 2.数据消费 Kafka的数据消费,是由Storm去消费,通过KafkaSpout将数据输送到Storm,然后让Storm安装业务需求对接受的数据做实时处理,下面给大家介绍数据消费的流程图,如下图所示: 从图

Kafka实战-数据持久化

1.概述 经过前面Kafka实战系列的学习,我们通过学习<Kafka实战-入门>了解Kafka的应用场景和基本原理,<Kafka实战-Kafka Cluster>一文给大家分享了Kafka集群的搭建部署,让大家掌握了集群的搭建步骤,<Kafka实战-实时日志统计流程>一文给大家讲解一个项目(或者说是系统)的整体流程,<Kafka实战-Flume到Kafka>一文给大家介绍了Kafka的数据生产过程,<Kafka实战-Kafka到Storm>一文给

Kafka实战-Kafka Cluster

1.概述 在<Kafka实战-入门>一篇中,为大家介绍了Kafka的相关背景.原理架构以及一些关键知识点,本篇博客为大家来赘述一下Kafka Cluster的相关内容,下面是今天为大家分享的目录: 基础软件的准备 Kafka Cluster的部署 Send Messages HA特性 下面开始今天的内容分享. 2.基础软件的准备 2.1 ZK 由于Kafka Cluster需要依赖ZooKeeper(后面简称ZK)集群来协同管理,所以这里我们需要事先搭建好ZK集群,关于ZK的集群搭建,大家可以

Kafka实战-入门

1.概述 经过一个多月的时间观察,业务上在集成Kafka后,各方面还算稳定,这里打算抽时间给大家分享一下Kafka在实际场景中的一些使用心得.本篇博客打算先给大家入个门,让大家对Kafka有个初步的了解,知道Kafka是做什么的,下面是本篇博客的目录内容: Kafka背景 Kafka应用场景 Kafka架构原理 下面开始今天的博客分享内容. 2.Kafka背景 Kafka它本质上是一个消息系统,由当时从LinkedIn出来创业的三人小组开发,他们开发出了Apache Kafka实时信息队列技术,

Kafka项目实战-用户日志上报实时统计之应用概述

1.概述 本课程的视频教程地址:<Kafka实战项目之应用概述> 本课程是通过一个用户实时上报日志来展开的,通过介绍 Kafka 的业务和应用场景,并带着大家搭建本 Kafka 项目的实战开发环境.下面我们来看看本课程有哪些课时,如下图所示: 接下来,我们开始第一课时的学习:<Kafka 回顾>. 2.内容 2.1 Kafka 回顾 本课时简述 Kafka 平台部署的注意事项,以及 Kafka 在企业中的业务场景和应用场景.让大家了解 Kafka 在企业中的使用. 本课时主要包含以