kafka python框架_【收藏】 Kafka监控组件大全

本文介绍了使用Burrow和Telegraf搭建Kafka监控体系,并探讨了Kafka Manager、Kafka Eagle、Confluent Control Center、Kafka Monitor和Kafka Offset Monitor等多个监控组件的特点和使用。
摘要由CSDN通过智能技术生成

060b9d1c78e561e0533a1fd720fd3244.png

本文使用Burrow和Telegraf搭建Kafka的监控体系。然后,简单介绍一下其他的,比如Kafka Manager,Kafka Eagle,Confluent Control Center等。

如果你对kafka比较陌生,请参考:Kafka基础知识索引

Burrow

依赖路径

使用Burrow拉取kafka的监控信息,然后通过telegraf进行收集,最后写入到influxdb中。使用grafana进行展示。

安装

从github下载二进制文件解压即可。

Burrow是Kafka社区committer亲自编写的,能够监控消费端端情况。不过没有UI界面,开发语言使用的是Go。此项目活跃度不是很高,但已经够用了。

主要的配置文件

burrow可以支持同时获取多个集群的信息,比如,我有两个集群 dm和 databus,那么我的配置文件就可以是下面这样。

[general]

pidfile="burrow.pid"

stdout-logfile="burrow.out"

access-control-allow-origin="mysite.example.com"

[logging]

filename="logs/burrow.log"

level="info"

maxsize=100

maxbackups=30

maxage=10

use-localtime=false

use-compression=true

[zookeeper]

servers=[ "192.168.54.159:2181"]

timeout=6

root-path="/burrow"

[client-profile.databus]

client-id="burrow-databus"

kafka-version="0.10.0"

[cluster.databus]

class-name="kafka"

servers=[ "192.168.86.57:9092","192.168.128.158:9092" ]

client-profile="databus"

topic-refresh=120

offset-refresh=30

[consumer.databus]

class-name="kafka"

cluster="databus"

servers=[ "192.168.86.57:9092","192.168.128.158:9092" ]

client-profile="databus"

group-blacklist="^(console-consumer-|python-kafka-consumer-|quick-).*$"

group-whitelist=""

[client-profile.dm]

client-id="burrow-dm"

kafka-version="0.10.0"

[cluster.dm]

class-name="kafka"

servers=[ "192.168.204.156:9092","192.168.87.50:9092" ]

client-profile="dm"

topic-refresh=120

offset-refresh=30

[consumer.dm]

class-name="kafka"

cluster="dm"

servers=[ "192.168.204.156:9092","192.168.87.50:9092" ]

client-profile="databus"

group-blacklist="^(console-consumer-|python-kafka-consumer-|quick-).*$"

group-whitelist=""

[httpserver.default]

address=":8000"

[storage.default]

class-name="inmemory"

workers=20

intervals=15

expire-group=604800

min-distance=1

然后,使用nohup命令启动即可。

nohup ./burrow -config-dir=./config &

验证

获取配置的kafka集群。 http://localhost:8000/v3/kafka

获取某个集群的消费者信息。 http://localhost:8000/v3/kafka/databus/consumer

Grafana配置

1、创建变量

过滤出所有集群,这样就可以使用选择框进行集群选择。

d4b30274884295a6df7c2e7fd0ae6566.png

2、创建图表

通过cluster过滤集群,然后选择监控项。可以通过group进行分组。

2d921980db563c7d53c6eb25c553ccba.png

监控项

burrow_group 监控消费者信息。包括

lag
offset
status
total_lag
patition_count

burrow_patition 监控更加详细的分区信息,包括

lag
offset
status

burrow_topic 监控主题相关信息,包括

offset

一、Kafka Manager

最受欢迎的一个,scala编写 且仅提供源码下载需要自己sbt编译。【编译过程极其 o(≧口≦)o】

支持管理多个集群、选择副本、副本重新分配以及创建Topic、Consumer信息查看等功能。

除了编译困难,在拉取大型kafka集群的信息时,会占用大量资源。

6fc3ac2a2305d5941ccd42a9e7b7e80f.png

二、Kafka Eagle

国人自己开发,在Kafka QQ群里很多人推崇,因为界面很干净漂亮,上面有很好的数据展现。权限报警比较完善,支持钉钉,微信,邮件等报警方式。支持使用ksql查询数据。

54f2439a38d81afb2f4a3337ac3e9749.png

三、Confluent Control Center

Control Center是目前能收集到的功能最齐全的Kafka监控框架,but只有购买了Confluent企业版才有,付费的

官方文档 :Confluent Platform Quick Start

注:安装极为繁琐(Manual Install using ZIP and TAR Archives

需要使用企业版提供的kafka,否则需要将kafka引入4个jar,修改配置文件。

另外此服务需要依赖schema-registry、connect-distributed、及kafka-rest等服务,需要开5个端口

e213abaa65ff30dcaffaa94dbdb4e548.png

四、Kafka Monitor

炮灰

五、Kafka Offset Monitor

炮灰

End

以上,就是常用的kafka监控组件。

af7c90e49cbcd1ca05d680f4c7ff2a82.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值