Kafka监控系统对比

2022-04-18 18:46:43 浏览数 (1)

本文对比了如下几个kafka监控工具:

Kafka Manager

Kafka center

Kafka Eagle

kafka-monitor

kafdrop

一 : Kafka Eagle

最新版本 : 1.4.6

github地址 : https://github.com/smartloli/kafka-eagle

http://120.92.114.224:33333/ke/

版本 : V1.4.6

功能点:

1. Kafka基本信息的展示,包含控制面板 brokers、topics、zookeepers、consumerGroups

2. Active状态的brokers

3. Topic 支持topic创建, topic信息查询、KSQL 类sql语法查询数据、mock模拟数据send

4. 多个集群的配置查询,以及zk和kafka info基本信息查询

5. 提供Zk_Cli 可视化shell操作

6. 提供常用的kafka和zookeeper metric信息配置

7. 提供异常告警功能,支持微信、邮件、钉钉

8. 支持权限,角色的管理

9. 提供了大屏展示 BScreen

优点:

1. 代码简单,配置灵活

2. 社区活跃度高, 代码commit 频率高

3. 提供了基本的kafka查询操作

4. 提供了大屏展示功能

缺点:

1. 大部分功能偏重于kafka集群查询类操作,对于kafka高级功能,比如动态修改配置、自动均衡

2. 不具备kafka connect功能

3. 不具备kafka

二: kafka-center

近期github上面刚提交的一个项目

介绍

KafkaCenter是Kafka集群管理和维护、生产者/消费者监控和生态组件使用的一站式统一平台。

github地址: https://github.com/xaecbd/KafkaCenter

内部集成了kafka-manager的一些功能

功能点:

1 . 监控多个集群状态、breaker、control等信息

2. 提供了kafka connector 功能 (实际内嵌了 kafka-connect-ui )

3. 具有kafka topic操作的审核机制

4. 提供监控告警模块可以查看topic的生产以及消费情况,同时可以对于消费延迟情况设置告警

5. 可以创建Connect Job 以及 KSQL Job , 并提供维护功能

6. 提供user、team、cluster等信息权限设置

优点 :

具有权限机制

提供了告警/预警功能

提供了kafka connect功能

缺点

依赖mysql数据进行配置信息

依赖elasticsearch(7.x ) 用于监控告警指标等信息

新开源项目,不排除内部开源版本

没有kafka 高级功能比如 data Balance,数据TTL设置等

不支持mock方式进行数据生产和消费

i

三、Xinfra Monitor (kafka-monitor)

介绍

是一个在真实集群中实现和执行长时间运行的Kafka系统测试的框架,它通过捕获潜在的bug或回归来补充Kafka现有的系统测试,这些bug或回归只可能在很长一段时间后发生,或者发生的概率很低。此外,它还允许您使用端到端管道来监视Kafka集群,以获得许多派生的重要统计数据,如端到端延迟、服务可用性、用户补偿提交可用性以及消息丢失率。您可以轻松地部署Xinfra Monitor来测试和监视Kafka集群,而不需要对应用程序进行任何更改。

Xinfra Monitor可以使用指定的配置自动创建Monitor主题,并增加Monitor主题的分区数,以确保分区# >= broker#。它还可以重新分配分区并触发首选领导人选举,以确保每个代理充当至少一个监视器主题分区的领导人。这允许Xinfra Monitor在每个代理上检测性能问题,而不需要用户手动管理Monitor主题的分区分配。

Xinfra Monitor与不同的中间层服务(如li-apache-kafka-clients)结合使用,用于监视单个集群、管道设计集群和其他类型的集群,如Linkedin工程中用于实时集群健康检查的集群

linkedin 开源

最新版本:2.1.5 发布时间:2020年04月8号

发布频率较高,但commiter人数较少,目前只有一个人进行维护

功能点:

更偏向于测试kafka相关

支持kafka topic leader rebalance

监控topic rebalancing

支持自定义实现一些service编写

集群健康检查

指标导出

支持kafka版本2.0.0

缺点:

不支持告警

不支持kafka connect功能

不支持ksql功能

不支持mock操作

不支持权限控制

整体评估:

具备一些高级功能,但是代码质量不太好, 缺乏一些基础功能.

四、kafdrop:

介绍

Kafdrop是一个用于查看Kafka主题和浏览用户组的web UI。该工具显示代理、主题、分区、使用者等信息,并允许您查看消息。

github: https://github.com/obsidiandynamics/kafdrop

功能:

查看Kafka代理——主题和分区分配,以及控制器状态

查看主题——分区计数、复制状态和自定义配置

浏览消息- JSON,纯文本和Avro编码

查看用户组——每个分区的停泊偏移量、组合和每个分区的延迟

创建新主题

视图acl

不足:

无法查看每个topic的partition、副本、消息总数、可读数,同步中副本数

不支持多个集群管理

不支持集群状态、topic总数、节点数、partitions总数、生产者平均可用性、消费者平均可用性、异常统计、告警显示

整体评估:

功能偏大众、基础. 不具备高级特性功能.

五、kakfa-manager


偏向Kafka集群管理,若操作不当,容易导致集群出现故障。对Kafka实时生产和消费消息是通过JMX实现的。

功能点:

提供了集群操作管理的相关功能,比如topic创建、balance.

支持多个集群添加和管理

提供了分区重分配

提供对topic leader负载均衡能力

优点 :

安装操作简单

修改topic配置

缺点:

数据展示有时不准确

维护频率较低

数据监控信息不准确

0 人点赞