1.概述

Kafka Eagle是一款开源的Kafka集群监控系统,源代码托管在Github。目前Kafka Eagle已更新到V1.3.4版本,域名已经统一更新为http://www.kafka-eagle.org/,之前的下载地址和官网使用手册地址均已替换,例如http://download.smartloli.org/替换为http://download.kafka-eagle.org/,而使用手册地址http://ke.smartloli.org/替换为https://docs.kafka-eagle.org/。今天,笔者就带着大家来整体分析一下Kafka Eagle。

2.内容

Kafka Eagle迭代至今,以及集成了许多功能,例如:多集群管理、Topic大小统计、Topic MBean监控、Kafka多版本兼容、Flink消费者应用程序支持等。

2.1 Kafka Eagle

2.1.1 背景

Kafka Eagle设计的背景,有以下几点原因:

  • Apache Kafka官方没有提供监控系统或是Web页面,来可视化Kafka集群,这对管理和掌握Kafka的动态带来极大的不方便,而开发者和运维人员无法及时把握Kafka的状态,在定位分析一些问题的时候,会很不方便
  • 已有的监控工具功能较少,对于现有的Kafka监控工具,功能较少,达不到想要的监控和管理效果
  • 已有的监控工具使用难度较大,目前一些监控工具均需要自己编译源代码,而且在配置上很复杂,同时文档说明也没有统一的规范,使用起来很不方便
  • 告警支持不足,有些监控工具虽然支持邮件告警,但是,对于已有的IM支持比较欠缺,例如微信和钉钉的支持等

2.1.2 架构和核心模块

Kafka Eagle核心模块包含如下:

  • 面板可视化
  • 主题管理,包含创建主题、删除主题、主题列举、主题配置、主题查询等
  • 消费者应用:对不同消费者应用进行监控,包含Kafka API、Flink API、Spark API、Storm API、Flume API、LogStash API等
  • 集群管理:包含对Kafka集群和Zookeeper集群的详情展示,其内容包含Kafka启动时间、Kafka端口号、Zookeeper Leader角色等。同时,还有多集群切换管理,Zookeeper Client操作入口
  • 集群监控:包含对Broker、Kafka核心指标、Zookeeper核心指标进行监控,并绘制历史趋势图
  • 告警功能:对消费者应用数据积压情况进行告警,以及对Kafka和Zookeeper监控度进行告警。同时,支持邮件、微信、钉钉告警通知
  • 系统管理:包含用户创建、用户角色分配、资源访问进行管理

Kafka Eagle架构组成如下所示:

  • 可视化:负责展示主题列表、集群健康、消费者应用等
  • 采集器:数据采集的来源包含Zookeeper、Kafka JMX & 内部Topic、Kafka API(这里API针对Kafka 2.x以后的版本进行升级)
  • 数据存储:目前Kafka Eagle存储采用MySQL或SQLite,数据库和表的创建均是自动完成的,按照官方文档进行配置好,启动Kafka Eagle就会自动创建,用来存储元数据和监控数据
  • 监控:负责见消费者应用消费情况(是否有数据积压)、集群健康状态(集群节点是否掉线)
  • 告警:对监控到的异常进行告警通知,支持邮件、微信、钉钉等方式
  • 权限管理:对访问用户进行权限管理,对于管理员、开发者、访问者等不同角色的用户,分配不用的访问权限

2.1.3 选择Kafka Eagle有哪些好处

选择Kafka Eagle有哪些好处呢?首先Kafka Eagle安装使用非常方便,这也是Kafka Eagle设计的初衷之一;其次,Kafka Eagle提供了友好的用户交互界面,以及丰富的功能支持。同时,对于使用过程中遇到的BUG和问题,可以在QQ群中进行咨询以及在Github源代码中提issues。总计如下:

  • 简单易用
  • 功能丰富
  • 专业支持(咨询渠道多,实时咨询Kafka Eagle项目作者进行解答)

2.1.4 后续工作

Kafka Eagle的后续工作,分为4个维度:

  • 系统质量维度:持续优化Kafka Eagle系统,保证Kafka Eagle系统的使用质量
  • 需求收集维度:调研并收集Kafka监控需求,同时修复Kafka Eagle在Github中issues问题
  • 新功能开发维度:对于实际需求在Kafka Eagle中做新功能开发,来满足使用者的实际需求
  • 文档完善维度:对Kafka Eagle的官网使用手册进行完善,保证用户能够阅读规范的的使用手册

3.新功能预览

在Kafka Eagle V1.3.4中对Flink消费者应用进行了优化,同时对历史趋势图的绘制进行了优化,以及对展示主题列表和消费列表的逻辑进行优化。

4.文档整理

完善了Kafka Eagle的官方使用手册(https://docs.kafka-eagle.org/),以及Kafka Eagle系统设计PDF文档(http://pdf.kafka-eagle.org/)。

5.总结

Kafka Eagle的安装使用非常方便,如果在使用过程中遇到了问题,可以给笔者发邮件留言,或者直接在QQ群进行笔者。同时,也非常欢迎大家一起参与维护这个项目,在Github上提PR,或者issues。

6.结束语

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

另外,博主出书了《Kafka并不难学》和《Hadoop大数据挖掘从入门到进阶实战》,喜欢的朋友或同学, 可以在公告栏那里点击购买链接购买博主的书进行学习,在此感谢大家的支持。关注下面公众号,根据提示,可免费获取书籍的教学视频。

Kafka Eagle V1.3.4更新预览的更多相关文章

  1. Kafka Eagle V2.0.0新版预览

    1.概述 Kafka Eagle是一款用于管理Kafka的监控系统,且完全开源.当前Kafka Eagle发布了2.0.0版本.今天笔者就为大家来介绍一下2.0.0更新了哪些功能. 官网地址:http ...

  2. Kafka Eagle 3.0.1功能预览

    1.概述 最近有同学留言,关于Kafka Eagle的一些使用问题.今天笔者就为大家来详细介绍Kafka Eagle 3.0.1的功能以及使用方法. 2.内容 在3.0.1版本中,EFAK优化了分布式 ...

  3. Kafka监控系统Kafka Eagle剖析

    1.概述 最近有同学留言反馈了使用Kafka监控工具Kafka Eagle的一些问题,这里笔者特意整理了这些问题.并且希望通过这篇博客来解答这些同学的在使用Kafka Eagle的时候遇到的一些困惑, ...

  4. Kafka Eagle 源码解读

    1.概述 在<Kafka 消息监控 - Kafka Eagle>一文中,简单的介绍了 Kafka Eagle这款监控工具的作用,截图预览,以及使用详情.今天笔者通过其源码来解读实现细节.目 ...

  5. Windows 10预览版14316开启Bash命令支持

    00x0 前言 4月7日凌晨,微软推送了最新的Windows 10一周年更新预览版14316,其中重要的是原生支持Linux Bash命令行支持. 00x1 问题 如何开启Linux Bash命令行? ...

  6. JavaScript实现本地图片上传前进行裁剪预览

    本项目支持IE8+,测试环境IE8,IE9,IE10,IE11,Chrome,FireFox测试通过 另:本项目并不支持Vue,React等,也不建议,引入JQuery和Vue.React本身提倡的开 ...

  7. 自己动手开发更好用的markdown编辑器-04(实时预览)

    这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址 http://benq.im/2015/04/25/hexomd-04/   程序打包   文章目录 1. 打开新窗口 ...

  8. Vim安装插件支持 MarkDown 语法、实时预览等

    使用 markdown-preview.vim 插件可以实时通过浏览器预览 markdown 文件 使用该插件需要 vim 支持py2/py3 安装 使用 vim-plug: 在 .vimrc 或 i ...

  9. 官宣 .NET MAUI 预览版 6

    最近,我们发布了.NET 多平台应用程序UI (MAUI)的最新进展. 在此版本中,我们全力支持Visual Studio 2022 预览版2.这也标志着我们首次将.NET MAUI 作为工作负载安装 ...

随机推荐

  1. iOS判断当前时间是否处于某个时间段内

    /** * 判断当前时间是否处于某个时间段内 * * @param startTime 开始时间 * @param expireTime 结束时间 */ - (BOOL)validateWithSta ...

  2. linux自动挂载远程网盘到本地

    sudo vim /etc/fstab  添加如下内容 //192.168.1.110/MyFiles /path/to/mount cifs username=adminz,password=pas ...

  3. Directory.GetFiles()获取多个类型格式的文件

    第一种(用通配符) string[] fileNameX = Directory.GetFiles(@"D:\Sjdc", "*.xls?"); Array a ...

  4. WPF 窗体边框处理

    一般做wpf窗口时都不会使用默认的标题栏等,会把他隐藏掉 此时设置以下属性 WindowStyle.AllowsTransparency.ResizeMode 中的两个或三个都能达到目的. 有一种场景 ...

  5. LINE_NO in format of XXXX example -> Line 10 is 0010

    select case when length(line_no) = 1 then to_char(line_no) when length(line_no) = 2 then '00' || lin ...

  6. Docker笔记03-docker 网络模式

    docker网络模式分为5种 Nat (Network Address Translation) Host other container none overlay 第一种 Nat模式 docker的 ...

  7. MySQL InnoDB缓冲池(Buffer Pool)

    InnoDB缓冲池并不仅仅缓存索引,它还会缓存行的数据.自适应哈希索引.插入缓冲(Insert Buffer).锁,以及其他内部数据结构. InnoDB还使用缓冲池来帮助延迟写入,这样就能合并多个写入 ...

  8. SpringMVC使用MultipartFile文件上传,多文件上传,带参数上传

    一.配置SpringMVC 二.单文件与多文件上传 三.多文件上传 四.带参数上传 一.配置SpringMVC 在spring.xml中配置: <!-- springmvc文件上传需要配置的节点 ...

  9. vue-cli脚手架 ,过滤器,生命周期钩子函数

    一.安装vue-cli脚手架 1.淘宝镜像下载 用淘宝的国内服务器来向国外的服务器请求,我们向淘宝请求,而不是由我们直接向国外的服务器请求,会大大提升请求速度,使用时,将所有的npm命令换成cnpm即 ...

  10. 30255Java_5.5 GUI

    GUI GUI的各种元素(如:窗口,按钮,文本框等)由Java类来实现 1.AWT 使用AWT所涉及的类一般在java.awt包及其子包中 AWT(Abstract Window Toolkit)包括 ...