Kafka监控之

栏目: 后端 · 发布时间: 6年前

内容简介:本文使用Burrow和Telegraf搭建Kafka的监控体系。然后,简单介绍一下其他的,比如Kafka Manager,Kafka Eagle,Confluent Control Center等。如果你对kafka比较陌生,请参考:使用Burrow拉取kafka的监控信息,然后通过telegraf进行收集,最后写入到influxdb中。使用grafana进行展示。

本文使用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、创建变量

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

Kafka监控之

2、创建图表

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

Kafka监控之 监控项

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集群的信息时,会占用大量资源。

Kafka监控之

二、Kafka Eagle

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

Kafka监控之

三、Confluent Control Center

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

官方文档 : https://docs.confluent.io/current/quickstart/index.html

注:安装极为繁琐( https://docs.confluent.io/current/installation/installing_cp/zip-tar.html#prod-kafka-cli-install

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

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

Kafka监控之

四、Kafka Monitor

炮灰

五、Kafka Offset Monitor

炮灰

End

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

更多精彩文章。

《微服务不是全部,只是特定领域的子集》

《“分库分表" ?选型和流程要慎重,否则会失控》

这么多监控组件,总有一款适合你

《Linux生产环境上,最常用的一套“vim“技巧》

《使用Netty,我们到底在开发些什么?》

Linux五件套之类的。

《Linux之《荒岛余生》(一)准备篇》

《Linux之《荒岛余生》(二)CPU篇》

《Linux之《荒岛余生》(三)内存篇》

《Linux之《荒岛余生》(四)I/O篇》

《Linux之《荒岛余生》(五)网络篇》

Kafka监控之


以上所述就是小编给大家介绍的《Kafka监控之》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical Algorithms for Programmers

Practical Algorithms for Programmers

Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99

Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具