天天看点

Kafka 消息监控 - Kafka Eagle1.概述2.内容3.数据采集4.总结5.结束语

  在开发工作当中,消费 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 涉及以下内容模块:

dashboard

topic(create & list)

consumers

cluster info

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

brokers

topics

zookeepers

kafka brokers graph

  展示 kafka 集群的 topic 数量,消费者数量,kafka 的 brokers 数,以及所属的 zookeeper 集群信息。dashboard 信息展示截图如下:

Kafka 消息监控 - Kafka Eagle1.概述2.内容3.数据采集4.总结5.结束语

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

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

Kafka 消息监控 - Kafka Eagle1.概述2.内容3.数据采集4.总结5.结束语

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

Kafka 消息监控 - Kafka Eagle1.概述2.内容3.数据采集4.总结5.结束语

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

Kafka 消息监控 - Kafka Eagle1.概述2.内容3.数据采集4.总结5.结束语

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

running

pending

active topic graph

offsets rate graph

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

kafka broker host & ip

kafka broker created & modify date

zookeeper host & ip

  kafka eagel 监控的消息数据源,来自于 zookeeper。由于创建,修改或是消费 kafka 的消息,都会在 zookeeper 中进行注册,我们可以从中获取数据的变动,例如:topic,brokers,partitions 以及 group 等,kafka 在 zookeeper 的结构存储,如下图所示: 

Kafka 消息监控 - Kafka Eagle1.概述2.内容3.数据采集4.总结5.结束语

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

<a href="http://ke.smartloli.org/" target="_blank">kafka eagle 使用文档</a>

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