Burrow 1.1.0实战
时间: 2018-10-09来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
Burrow是个什么东西?这里就不做详细介绍了,之前写过相关文章 Linkedin Burrow ,本文只是实战最新版v1.1.0。最新版的配置和接口和之前的老版有些区别,github上项目还在更新,希望不要成为一个僵尸项目。
环境
监控kafka集群信息:
zookeeper:10.207.23.31:12181
kafka:10.207.23.31:19092,10.207.23.32:19092,10.207.23.33:19092,10.207.23.34:19092,10.207.23.35:19092
burrow环境信息:
zookeeper:10.205.151.145:2181
部署
之前的版本部署需要自己安装一大堆依赖,然后自己使用go来编译,不过现在github已经有每个版本预编译好的版本,可以下载下来直接使用 https://github.com/linkedin/Burrow/releases
ps:下载1.1.0版本即可

配置
burrow是一个go编写的二进制程序,只需要一个配置文件即可,burrow.toml [general] pidfile="/opt/programs/burrow_1.1.0/logs/burrow.pid" stdout-logfile="/opt/programs/burrow_1.1.0/logs/burrow.out" [logging] filename="/opt/programs/burrow_1.1.0/logs/burrow.log" level="info" maxsize=100 maxbackups=30 maxage=10 use-localtime=true use-compression=true [zookeeper] servers=[ "10.205.151.145:2181" ] timeout=6 root-path="/burrow" [cluster.jijin] class-name="kafka" servers=[ "10.207.23.31:19092", "10.207.23.32:19092", "10.207.23.33:19092", "10.207.23.34:19092", "10.207.23.35:19092", "10.207.23.36:19092", "10.207.23.37:19092", "10.207.23.38:19092", "10.207.23.39:19092" ] topic-refresh=120 offset-refresh=30 [consumer.jijin] class-name="kafka_zk" cluster="jijin" servers=[ "10.207.23.31:12181", "10.207.23.32:12181", "10.207.23.33:12181", "10.207.23.34:12181", "10.207.23.35:12181" ] [httpserver.default] address="10.205.151.145:8008" [storage.default] class-name="inmemory" workers=20 intervals=15 expire-group=604800 min-distance=1 [evaluator.mystorage] class-name="caching" expire-cache=10
ps:要注意kafka集群的版本,如果是0.8及之前的版本,consumer信息存储在zookeeper中,如果是0.8之后的版本,consumer信息存储在该kafka集群的__consumer_offsets topic中,版本的不同也会导致配置文件配置consumer参数的不同。
启动 cd /opt/programs/burrow_1.1.0 ./bin/burrow --config-dir ./config/
接口
Request Method URL Format Healthcheck GET /burrow/admin
List Clusters GET /v3/kafka
Kafka Cluster Detail GET /v3/kafka/(cluster)
List Consumers GET /v3/kafka/(cluster)/consumer
List Cluster Topics GET /v3/kafka/(cluster)/topic
Get Consumer Detail GET /v3/kafka/(cluster)/consumer/(group)
Consumer Group Status GET /v3/kafka/(cluster)/consumer/(group)/status /v3/kafka/(cluster)/consumer/(group)/lag
Remove Consumer Group DELETE /v3/kafka/(cluster)/consumer/(group)
Get Topic Detail GET /v3/kafka/(cluster)/topic/(topic)
Get General Config GET /v3/config
List Cluster Modules GET /v3/config/cluster
Get Cluster Module Config GET /v3/config/cluster/(name)
List Consumer Modules GET /v3/config/consumer
Get Consumer Module Config GET /v3/config/consumer/(name)
List Notifier Modules GET /v3/config/notifier
Get Notifier Module Config GET /v3/config/notifier/(name)
List Evaluator Modules GET /v3/config/evaluator
Get Evaluator Module Config GET /v3/config/evaluator/(name)
List Storage Modules GET /v3/config/storage
Get Storage Module Config GET /v3/config/storage/(name)
Get Log Level Set Log Level
GET POST
/v3/admin/loglevel /v3/admin/loglevel

测试
list cluster curl -s http://10.205.151.145:8008/v3/kafka

cluster detail curl -s http://10.205.151.145:8008/v3/kafka/jijin

list consumers curl -s http://10.205.151.145:8008/v3/kafka/jijin/consumer

list consumer detail curl -s http://10.205.151.145:8008/v3/kafka/jijin/consumer/bd-zp-prd-kafka1

更好的输出 https://github.com/dmitryilyin/burrow-client.git
cluster信息

topic信息

consumer信息

status信息

partitions信息

总结
目前市面上还没有很好的kafka consumer lag消费监控工具,而burrow是目前开源的、轻量级更容易上手的监控工具,配合http api可以对接到各自的内部监控系统中。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行