当前位置: 首页 > 编程日记 > 正文

Kafka 消息监控 - Kafka Eagle

1.概述

在开发工作当中,消费 Kafka 集群中的消息时,数据的变动是我们所关心的,当业务并不复杂的前提下,我们可以使用 Kafka 提供的命令工具,配合 Zookeeper 客户端工具,可以很方便的完成我们的工作。随着业务的复杂化,Group 和 Topic 的增加,此时我们使用 Kafka 提供的命令工具,已预感到力不从心,这时候 Kafka 的监控系统此刻便尤为显得重要,我们需要观察消费应用的详情。 监控系统业界有很多杰出的开源监控系统。我们在早期,有使用 KafkaMonitor 和 Kafka Manager 等,不过随着业务的快速发展,以及互联网公司特有的一些需求,现有的开源的监控系统在性能、扩展性、和 DEVS 的使用效率方面,已经无法满足了。 因此,我们在过去的时间里,从互联网公司的一些需求出发,从各位 DEVS 的使用经验和反馈出发,结合业界的一些开源的 Kafka 消息监控,用监控的一些思考出发,设计开发了现在 Kafka 集群消息监控系统:Kafka Eagle。

Kafka Eagle 用于监控 Kafka 集群中 Topic 被消费的情况。包含 Lag 的产生,Offset 的变动,Partition 的分布,Owner ,Topic 被创建的时间和修改的时间等信息。下载地址如下所示:

  • [Kafka Eagle 下载地址]
  • [Kafka Eagle Github]

2.内容

Kafka Eagle 涉及以下内容模块:

  • Dashboard
  • Topic(Create & List)
  • Consumers
  • Cluster Info

2.1 Dashboard

我们通过在浏览器中输入 http://host:port/ke,访问 Kafka Eagle 的 Dashboard 页面。该页面包含以下内容:

  • Brokers
  • Topics
  • Zookeepers
  • Consumers
  • Kafka Brokers Graph

展示 Kafka 集群的 Topic 数量,消费者数量,Kafka 的 Brokers 数,以及所属的 Zookeeper 集群信息。Dashboard 信息展示截图如下:

2.2 Topic

在 Topic 模块下,包含创建 Topic 和展示 Topic 信息详情。

2.2.1 Create

通过创建模块可以创建一个自定义分区和备份数的 Topic。如下图所示:

2.2.2 List

该模块下列出 Kafka 集群中所有的 Topic,包含 Topic 的分区数,创建时间以及修改时间,如下图所示:

上图中,每一个 Topic 名称对应一个详情的超链接,通过该链接可以查看该 Topic 的详情,如:分区索引号,Leader,Replicas 和 Isr,如下图所示所示:

2.3 Consumers

该模块显示有消费记录的 Topic 信息,其中包含如下内容:

  • Running
  • Pending
  • Active Topic Graph
  • Offsets Rate Graph

2.4 Cluster Info

该模块显示 Kafka 集群信息和 Zookeeper 集群信息,包含如下内容:

  • Kafka Broker Host & IP
  • Kafka Broker Created & Modify Date
  • Zookeeper Host & IP

3.数据采集

Kafka Eagel 监控的消息数据源,来自于 Zookeeper。由于创建,修改或是消费 Kafka 的消息,都会在 Zookeeper 中进行注册,我们可以从中获取数据的变动,例如:Topic,Brokers,Partitions 以及 Group 等,Kafka 在 Zookeeper 的结构存储,如下图所示:

4.总结

Kafka Eagle 的安装使用很简单,下载安装,配置好 Kafka 集群所属的 Zookeeper 集群地址即可,安装部署文档地址如下:

  • Kafka Eagle 使用文档

5.结束语

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

联系方式: 
邮箱:smartloli.org@gmail.com 
Twitter:https://twitter.com/smartloli 
QQ群(Hadoop - 交流社区1):424769183 
温馨提示:请大家加群的时候写上加群理由(姓名+公司/学校),方便管理员审核,谢谢! 

热爱生活,享受编程,与君共勉!



本文转自哥不是小萝莉博客园博客,原文链接:http://www.cnblogs.com/smartloli/,如需转载请自行联系原作者

相关文章:

java开发培训好学习吗?难度大不大?

​ 互联网快速的发展,不断的在进行变革和更新,越来越多的人都对这个行业充满向往,很多人都想要学习java技术,那么java开发培训好学习吗?难度大不大?来看看下面的详细介绍。 java开发培训好学习吗?难度大不大?首先,…

gdb 调试动态库

原文链接 cat get.h int get (); int set (int a); cat get.c #include <stdio.h> #include "get.h" static int x0; int get () { printf ( "get x%d\n ", x); return x; } int set (int a) { printf …

【青少年编程】【一级】森林的一天

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。 如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取该程序的代码。 森林的一天 1. 准备工作 &#xff08;1&#xf…

Visual Studio Extensions for SharePoint v1.1

下载Visual Studio Extensions for SharePoint v1.1User Guide1、此版本&#xff08;1.1&#xff09;稍后会发布中文版2、此版本仍然只支持Visual Studio 20053、此版本仍然必须安装在包含了SharePoint Server&#xff08;或WSS&#xff09;、Visual Studio的机器上4、下个版本…

零基础学Java需要做哪些准备

想要成为一名合格的java工程师&#xff0c;那么好好学习java技术是非常重要的&#xff0c;对于零基础同学们来说&#xff0c;大家比较关注的就是“零基础学Java需要做哪些准备”这个问题&#xff0c;下面小编就来为大家做下详细的介绍。 零基础学Java需要做哪些准备? 1.制定学…

C# 启动外部程序的几种方法

C# 启动外部程序的几种方法&#xff1a; 1. 启动外部程序&#xff0c;不等待其退出。 2. 启动外部程序&#xff0c;等待其退出。 3. 启动外部程序&#xff0c;无限等待其退出。 4. 启动外部程序&#xff0c;通过事件监视其退出。 // using System.Diagnostics; private string…

在Mac和Linux之间用Rsync 拷贝文件

因为公司的苹果服务器是物理机&#xff0c;所以备份一直是个问题。Backup Exec 2012 勉强能工作&#xff0c;但是速度和可靠性一直都被我们所诟病。最后&#xff0c;老板决定把所有的数据copy到linux的共享文件夹&#xff0c;然后用Veeam 备份。 *IX系统里面说起拷贝&#xff0…

【复盘】升级打怪第一关,冲啊!

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&#xff09;。 利用游…

在Java中是如何定义和声明接口的?

java技术需要学习的内容有很多&#xff0c;本期小编整理的教程资料就是关于“在Java中是如何定义和声明接口的?”的内容&#xff0c;希望下面的介绍能够给大家带来帮助。 如果一个抽象类的所有方法都是抽象的&#xff0c;则可以定义这个类为接口。接口是Java中最重要的概念之一…

Android--SQLite(一)

Android系统集成了一个轻量级的数据库&#xff1a;SQLite&#xff0c;SQLite是一个嵌入式的数据库引擎&#xff0c;专门适用于资源有限的设备上&#xff08;手机、PDA&#xff09;的适量数据存储。 Android提供了SQLiteDatabase&#xff0c;它代表了一个SQLite数据库&#xff0…

pku 3422 Kaka's Matrix Travels 最大费用最大流

http://poj.org/problem?id3422 /* 题意&#xff1a;给定一个n*n的矩形方格&#xff0c;要求从&#xff08;1,1&#xff09;出发&#xff0c;只能往右下角走&#xff0c;(i 1,j) 或者 &#xff08;i n,j&#xff09;每次走完将格子里面的数累加&#xff0c;并将所走过的格子…

【青少年编程】全国青少年软件编程等级考试大纲与说明(Scratch)

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 后台回复 资料下载 可获取该考试大纲与说明的PDF版本。

前端中的this,指的是什么?

想要学习前端&#xff0c;短时间内是比较困难的&#xff0c;web前端要学习的内容有很多&#xff0c;今天小编就为大家详细的介绍一下前端中的this&#xff0c;指的是什么?来看看下面的详细介绍。 前端中的this&#xff0c;指的是什么? 1.this是什么 this 是 JavaScript 中的一…

在SQLserver数据库里设置作业的步骤

在SQLserver数据库里设置作业&#xff08;对数据库的表定期进行数据清理&#xff09;的步骤 1.首先&#xff0c;要打开sql server代理的服务&#xff0c;在我的电脑&#xff0c;右键管理的服务打开&#xff0c;SQL Server 代理 (MSSQLSERVER)这个服务一定要打开。2.打开数据库&…

tomcat环境部署

1、java安装 #java env export JAVA_HOME/usr/local/src/jdk1.8.0_162 export JRE_HOME$JAVA_HOME/jre export PATH$JAVE_HOME/bin:$JAVA_HOME/bin:$PATH export CLASSPATH.:$JAVA_HOME/lib:$JAVA_HOME/lib 2、下载tomcat wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat…

【青少年编程】【一级】舞者凯希

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&#xff09;。 舞者凯…

UI设计APP图标设计规范介绍

​ UI设计所涉及的内容是比较多的&#xff0c;其中关于APP图标的设计就是常见的一种&#xff0c;UI设计师需要掌握不同的UI设计规范。今天小编就帮助大家了解下移动端APP图标设计规范&#xff1a; 很多设计师以为UI设计就是设计图标。虽然事实并非如此&#xff0c;但图标的设计…

Linux中断(interrupt)子系统之一:中断系统基本原理【转】

转自&#xff1a;http://blog.csdn.net/droidphone/article/details/7445825 这个中断系列文章主要针对移动设备中的Linux进行讨论&#xff0c;文中的例子基本都是基于ARM这一体系架构&#xff0c;其他架构的原理其实也差不多&#xff0c;区别只是其中的硬件抽象层。内核版本基…

haskell的分数运算

孩子要上3年级了&#xff0c;里面涉及分数的部分&#xff0c;先准备一下。 haskell中涉及分数的模块是Ratio。 Ratio Synopsis Documentation data Ratio a Rational numbers, with numerator and denominator of some Integral type. Instances Typeable1 Ratio Integral a &g…

【复盘】端端,棒棒哒!

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&#xff09;。 昨晚2…

UI设计培训分享:平面广告设计中的文案表达技巧

UI设计培训包含平面设计&#xff0c;而且其中的应用频率是非常大的&#xff0c;本期小编就为大家详细的介绍一下平面广告设计中的文案表达技巧&#xff0c;希望下面的介绍能够帮助到正在学习UI设计的同学们。 平面广告设计中的文案表达技巧&#xff0c;平面广告中文案的编排创意…

工具类——md5

android的开发过程中&#xff0c;数据安全始终是个问题。这里记录一个md5的工具类&#xff0c;感觉挺好用的。 package com.xzw.test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class TestMD5 { public static…

【青少年编程】【一级】小狗散步

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&#xff09;。 小狗散…

avplayer VS2008编译

错误1. typedef void * POINTER_64 PVOID64;  解决办法 typedef void *PVOID;typedef void * POINTER_64 PVOID64;在它之前加下&#xff1a;#define POINTER_64 __ptr64 官网给出的解决办法 打开winnt.h文件&#xff08;这个是vc安装时带的文件&#xff09; 找到 #include <…

Python培训分享:python爬虫可以用来做什么?

爬虫又被称为网络蜘蛛&#xff0c;它可以抓取我们页面的一些相关数据&#xff0c;近几年Python技术的到来&#xff0c;让我们对爬虫有了一个新的认知&#xff0c;那就是Python爬虫&#xff0c;下面我们就来看看python爬虫可以用来做什么? Python培训分享&#xff1a;python爬虫…

【字符串操作之】返回指定位置的字符和Unicode 字符代码 根据unicode返回字符→→charAt、charCodeAt和fromCharCode...

//charAt和charCodeAt分别返回指定位置处的字符和字符对应的unicode码 var str:String"abcdefg"; var str2str.charAt(1); var str3str.charCodeAt(1); trace(str2); //b trace(str3); //98 fromCharCode是个静态方法&#xff0c;根据unicode返回字符 var str:String…

E667:Fsync failed(how to solve)

今天在学习一个关闭icmp回显的配置时候&#xff0c;vim出现了Fsync failed这个问题&#xff01; 下面来说一下我发生这种情况的原因&#xff08;系统CentOS6.5&#xff09;,那时编辑完后先是输入“q”&#xff0c;正如我们所想&#xff0c;已修改过的配置它会提醒我要把数据写入…

【复盘】第一次灌鸡汤

Scratch竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&#xff09;。 上周日…

Python中常用的数据分析工具(模块)有哪些?

本期Python培训分享&#xff1a;Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强&#xff0c;需要安装一些第三方的扩展库来增强它的能力。我们课程用到的库包括NumPy、Pandas、Matplotlib、Seaborn、NLTK等&#xff0c;接下来将针对相关库做一个简单…

Android应用中通过AIDL机制实现进程间的通讯实例

Android中&#xff0c;每个应用程序都有自己的进程&#xff0c;当需要在不同的进程之间传递对象时&#xff0c;该如何实现呢&#xff1f;显然&#xff0c;Java中是不支持跨进程内存共享的&#xff0c;因此要传递对象&#xff0c;需要把对象解析成操作系统能够理解的数据格式&am…