在开发工作当中,消费 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 被创建的时间和修改的时间等信息。下载地址如下所示

搭建过程

前置条件

1 : Kafka Service启动

2: zookeeper启动

操作步骤

安装配置下载地址:http://download.smartloli.org

kafka-eagle-bin-1.2.3.tar.gz复制到Linux

解压 tar -xvf kafka-eagle-bin-1.2.3.tar.gz

重命名:mv kafka-eagle-bin-1.2.3 kafka-eagle

进入Kafka Eagle目录,进入conf目录修改system-config.properties配置文件内容如下



# multi zookeeper&kafka cluster list  
kafka.eagle.zk.cluster.alias=cluster1



改成自己的列表



cluster1.zk.list=192.168.1.40:2181



# zk limit



kafka.zk.limit.size=25



# kafka eagel webui port



kafka.eagel.webui.port=8048



改成自己能访问的目录



kafka.eagle.url=jdbc:sqlite://usr/local/kafka-eagle/db/ke.db



2.进入Kafka Eagle目录,进入bin目录

[plain]

chmod +x ke.sh

./bin/ke.sh start

注意可能设置

访问地址:http://XX.XXX.XX:8048/ke

登录web主界面,用户名admin,密码:123456




如何修改kafka端口 kafka 修改分区_监控系统


选择Dashboard 页面

访问 Kafka Eagle 的 Dashboard 页面。该页面包含以下内容:

· Brokers

· Topics

· Zookeepers

· Consumers

· Kafka Brokers Graph

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


如何修改kafka端口 kafka 修改分区_kafka_02


在Topic 模块下,包含创建 Topic 和展示 Topic

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


如何修改kafka端口 kafka 修改分区_kafka_03


显示topic列表

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


如何修改kafka端口 kafka 修改分区_如何修改kafka端口_04


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


如何修改kafka端口 kafka 修改分区_kafka_05


Message的Kafka SQL查询

使用Kafka SQ 快速可视化Topic的相关信息,目前Kafka SQL 实现功能包含有展示toipic的partition,offset,以及对应的消息记录,若不加limit条件限制,默认展示该topic下最新的5000条记录


如何修改kafka端口 kafka 修改分区_kafka 修改分区_06


SELECT "partition","offset","msg" FROM "mytopic01" WHERE "partition" IN (0) limit 10

生产消息测试Mock


如何修改kafka端口 kafka 修改分区_kafka 修改分区_07


Consumers消费者


如何修改kafka端口 kafka 修改分区_kafka 修改分区_08


点击链接查看消费者


如何修改kafka端口 kafka 修改分区_Eagle_09


希望本文对你有帮助!

感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和培训服务,关于本文有任何困惑,请关注并联系我们。