Kafka监控之

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

内容简介:本文使用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监控之》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

生态战略:设计未来企业新模式

生态战略:设计未来企业新模式

周文艺 / 机械工业出版社 / 2017-3 / 49.00

思想影响战略,战略决定组织。在充满高度不确定性的今天,企业要生存和发展,必须不断进行组织变革与进化,跨越不连续性的鸿沟。本书分析了大量互联网生态型企业的案例,从生态思维进化、生态战略构建和生态组织变革三个角度出发,全面阐述了企业的进化之路。 本书认为,生态是企业进化的核心思想,企业须重新定义增长模式,从封闭的企业链转向开放的价值网,不断创新文化、技术和连接,培育新物种,实现企业从技术生态位到......一起来看看 《生态战略:设计未来企业新模式》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具