Kafka搭建好投入使用后,为了运维更便捷,借助一些管理工具很有必要。Kafka社区似乎一直没有在监控框架方面投入太多的精力,目前Kafka监控方案看似很多,然而并没有一个"大而全"的通用解决方案,各家框架也是各有千秋。很多公司和个人都自行着手开发 Kafka 监控框架,其中并不乏佼佼者。今天我们就来全面地梳理一下主流的监控框架。

JMX

JMX的全称为Java Management Extensions. 顾名思义,是管理Java的一种扩展。这种机制可以方便的管理、监控正在运行中的Java程序。常用于管理线程,内存,日志Level,服务重启,系统环境等。

关于JMX的使用,读者可以参考厮大这篇文章:

  • 《如何使用JMX监控Kafka》https://blog.csdn.net/u013256816/article/details/53524884

总体来说,JMXTool 是社区自带的一个小工具,对于一般简单的监控场景,它还能应付,但是它毕竟功能有限,复杂的监控整体解决方案,还是要依靠监控框架。

Kafka Manager(已更名为CMAK)

为了简化开发者和服务工程师维护Kafka集群的工作,Yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。

你可以很轻松的安装他:

# 从git上下载Kafka manager源码
git clone https://github.com/yahoo/kafka-manager# 使用sbt进行编译,编译过程中需要等待很长时间
./stb clean dist

你可以在 Kafka Manager 的 target/universal 目录下找到生成的 zip 文件,把它解压,然后修改里面的 conf/application.conf 文件中的 kafka-manager.zkhosts 项,让它指向你环境中的 ZooKeeper 地址,比如:

# 默认是localhost,将zkhosts改为自己zk集群的hosts
kafka-manager.zkhosts="localho:2181"

然后启动Zookeeper和Kafka:

# 启动zookeeper
zkServer start# 启动kafka,JMX_PORT=9991指定Kafka的JMX端口为9991,方便对kafka监控
JMX_PORT=9991 kafka-server-start -daemon /usr/local/etc/kafka/server.properties

之后,运行以下命令启动 Kafka Manager:

# 进入/kafka-manager/bin
cd ../kafka-manager/bin# 执行kafka-manager命令
sh kafka-manager

然后我们就可以新建Cluster,点击【Cluster】>【Add Cluster】打开如下添加集群的配置界面:

输入集群的名字(如Kafka-Cluster-1)和 Zookeeper 服务器地址(如localhost:2181),选择最接近的Kafka版本。

然后你就可以看到当前监控的 Kafka 集群的主题数量、Broker 数量等信息。

一个完整的过程你可以参考:

  • 《Kafka集群管理工具kafka-manager部署安装》https://blog.csdn.net/qq_43631716/article/details/120109732

Kafka Eagle

Kafka Eagle监控系统也是一款用来监控Kafka集群的工具,支持管理多个Kafka集群、管理Kafka主题(包含查看、删除、创建等)、消费者组合消费者实例监控、消息阻塞告警、Kafka集群健康状态查看等。

Kafka Eagle v1.2.3整个系统所包含的功能,如下图所示:

  1. 展示Kafka集群的Broker数、Topic数、Consumer数、以及Topic LogSize Top10和Topic Capacity Top10数据。

  2. 主题创建、主题管理、主题预览、KSQL查询主题、主题数据写入、主题属性配置等

  3. 监控不同消费者组中的Topic被消费的详情,例如LogSize、Offsets、以及Lag等。同时,支持查看Lag的历史趋势图。

  4. Kafka集群和Zookeeper集群的详情展示,例如Kafka的IP和端口、版本号、启动时间、Zookeeper的Leader和Follower。同时,还支持多Kafka集群切换,以及Zookeeper Client数据查看等功能。

  5. 监控Kafka集群和Zookeeper集群的核心指标,包含Kafka的消息发送趋势、消息大小接收与发送趋势、Zookeeper的连接数趋势等。同时,还支持查看Broker的瞬时指标数据。

  6. 告警集群异常和消费者应用Lag异常。同时,支持多种IM告警方式,例如邮件、钉钉、微信、Webhook等。

  7. 包含用户管理,例如创建用户、用户授权、资源管理等。

  8. 展示消费者和生产者当日及最近7天趋势、Kafka集群读写速度、Kafka集群历史总记录等

Kafka Eagle监控管理系统,提供了一个可视化页面,使用者可以拥有不同的角色,例如管理员、开发者、游客等。不同的角色对应不同的使用权限。

你可以参考的网站:

源码:https://github.com/smartloli/kafka-eagle/
官网:https://www.kafka-eagle.org/
下载:http://download.kafka-eagle.org/
安装文档:https://docs.kafka-eagle.org/2.env-and-instal

你可以看到 Kafka Eagle 的管理界面如下:

  • 《Kafka监控工具Kafka Eagle》https://blog.csdn.net/weixin_45367149/article/details/108398580

Logi-KafkaManager

滴滴Logi-KafkaManager脱胎于滴滴内部多年的Kafka运营实践经验,是面向Kafka用户、Kafka运维人员打造的共享多租户Kafka云平台。专注于Kafka运维管控、监控告警、资源治理等核心场景,经历过大规模集群、海量大数据的考验。内部满意度高达90%的同时,还与多家知名企业达成商业化合作。

功能上,和 Kafka Manager的对比如下:

你可以参考GitHub:https://github.com/didi/LogiKM

滴滴甚至提供了一个体验平台:

体验地址 http://117.51.150.133:8080 账号密码 admin/admin

总结

除了我们上面介绍的Kafka Manager、Kafka Eagle等,使用JMXTrans + InfluxDB + Grafana的组合也是很多公司的选择。可以方便的做到定制化。

每种监控框架都有自己的优势,大家可以根据需要自行选择。

八千里路云和月 | 从零到大数据专家学习路径指南

我们在学习Flink的时候,到底在学习什么?

193篇文章暴揍Flink,这个合集你需要关注一下

Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS

Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

我们在学习Spark的时候,到底在学习什么?

在所有Spark模块中,我愿称SparkSQL为最强!

硬刚Hive | 4万字基础调优面试小总结

数据治理方法论和实践小百科全书

标签体系下的用户画像建设小指南

4万字长文 | ClickHouse基础&实践&调优全视角解析

【面试&个人成长】2021年过半,社招和校招的经验之谈

大数据方向另一个十年开启 |《硬刚系列》第一版完结

我写过的关于成长/面试/职场进阶的文章

当我们在学习Hive的时候在学习什么?「硬刚Hive续集」

Kafka常用监控框架百科全书相关推荐

  1. 基于.NET平台常用的框架整理(转)

    分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的K ...

  2. 基于.NET平台常用的框架整理(收藏)

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...

  3. .NET平台常用的框架整理

    从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继 ...

  4. 基于.NET平台常用的框架整理

    基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前 ...

  5. SOA架构与微服务架构到底是什么?以及对应的一些常用的框架简介

    架构是逻辑上的设计模式,而框架则是具体的实现.一个架构模式上,可能会使用到多个框架. 一.架构的演变 架构的演变是根据业务量的急速扩张对技术要求不断的加深而产生的.如果细粒度的划分可以有很多路线,我一 ...

  6. 服务器实时状态检测源码,开源运维监控框架Netdata——实时监控系统性能

    开源运维监控框架Netdata--实时监控系统性能 开源运维监控框架Netdata--实时监控系统性能 作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况. ...

  7. 常用监控与prometheus监控的简介

    文章目录 一.常用监控简介 ❻zabbix核心组件介绍 #Zabbix 4.Prome theus .borg . kubernetes Prometheus具有以下特性: ❾可利用Pushgatew ...

  8. Android专题-常用第三方框架

    Android专题-常用第三方框架 HTTP网络请求 带*号的是个人推荐比较好用的 HTTP网络请求 okhttp * :https://github.com/square/okhttp retrof ...

  9. Kafka 消息监控 - Kafka Eagle

    1.概述 在开发工作当中,消费 Kafka 集群中的消息时,数据的变动是我们所关心的,当业务并不复杂的前提下,我们可以使用 Kafka 提供的命令工具,配合 Zookeeper 客户端工具,可以很方便 ...

最新文章

  1. TSP问题中:如果有n个顶点,那么一共有多少种不同的环游
  2. 【郭林专刊】过来人的总结
  3. [测试]将TestCase整合
  4. 自定义线程池-线程类和任务类代码实现
  5. Java技术学习笔记:C/S 与B/S 区别
  6. [转]把人当成一个公司来经营,心就不会那么累
  7. 台达vfd一ⅴe变频说明书_PLC运动控制实例解析:PLC与变频器系统
  8. SAP License:SAP CO ML 物料帐配置
  9. 怎样让百度快速收录的新方法
  10. [VC]socket含义
  11. 黑客专用文本编辑器Emacs中文手册
  12. iPhone媒体服务器修改,出现Apple媒体服务条款与条件已更改是怎么回事如何解决...
  13. UI设计色彩模式选择
  14. cobol 知识点集锦
  15. 实战:第六章:H5微信与支付宝调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions
  16. log4j2的一些配置,为某个类某个方法单独文件打印日志,定时删除日志和springboot的logback日志单独类打印
  17. MACD指标在外汇交易中的另类运用方法
  18. 清华大学计算机系录取分数浙江,清华在浙江录取专业志愿满足率100% 录取人数突破160...
  19. 丹纳赫集团在中国本土研发并生产的首台流式细胞分选仪正式交付
  20. drupal8 存取session

热门文章

  1. plsql developer登录oracle
  2. 录制屏幕怎么设置区域?分享你个小操作
  3. 企业微信SCRM平台拆解:私域运营内容组成模块
  4. 塑胶模具设计公式参数计算工具
  5. 银泰百货打造MOS商业操作系统,助力新零售转型
  6. vue 手写签名_用 Mac 制作手写签名,没打印机也能搞事
  7. html怎么插入flash,Dreamweaver如何插入flash动画
  8. 支付宝二维码脱机认证库测试(linux_x86平台验证)
  9. Any Video Converter Pro for Mac注册码
  10. DeepLab大盘点 | 深入理解DeepLab系列语义分割网络