当前位置: 首页 > 工具软件 > Burrow > 使用案例 >

Burrow搭建过程详解

邹博裕
2023-12-01

  Burrow是linkedin开源的一个监控Apache Kafka的工具,burrow可以将消费者滞后检查作为一项服务来对外提供。 它监视所有消费者的承诺偏移量,并根据需要计算消费者的状态,提供HTTP endpoint接口来获取消费者状态,能够监控Consumer消费消息的延迟,从而监控应用的健康状况,并且可以同时监控多个Kafka集群。 通知器可以通过配置电子邮件或HTTP通告进行告警,而无需指定阈值。

搭建流程如下:

  1. 安装go
  2. 安装burrow
  3. 启动查看结果

1、安装go,将go安装到/opt/soft下:

cd /opt/soft
wget https://dl.google.com/go/go1.10.4.linux-amd64.tar.gz
tar -zxvf go1.8.linux-amd64.tar.gz

 

在/data下建文件夹go,此为go项目目录,并在go下建立bin(编译完可执行文件),src(源代码),pkg(编译完文件)文件夹,并将go目录添加到环境变量,/etc/profile下:

export GOROOT=/opt/soft/go

export GOPATH=/data/go

export PATH=$PATH:$GOROOT/bin

2、安装burrow

$ go get github.com/linkedin/Burrow

$ cd $GOPATH/src/github.com/linkedin/Burrow

$ go install

3、运行:

在/data/goconfig下建立文件名为burrow.toml,并配置集群相关信息,如下:

[general]
pidfile="/data/goconfig/burrow.pid"
stdout-logfile="/data/goconfig/burrow.out"

[logging]
filename="/data/goconfig/logs/burrow.log"
level="info"
maxsize=100
maxbackups=30
maxage=10
use-localtime=true
use-compression=true

[zookeeper]
servers=[ "xxx.xxx.xxx.xxx:2181" ]
timeout=6
root-path="/burrow"

[cluster.jijin]
class-name="kafka"
servers=[ "xxx.xxx.xxx.xxx:9092" ]
topic-refresh=300
offset-refresh=60

[consumer.jijin]
class-name="kafka"
cluster="jijin"
servers=[ "xxx.xxx.xxx:9092" ]

[httpserver.default]
address=":8000"

[storage.default]
class-name="inmemory"
workers=20
intervals=15
expire-group=604800
min-distance=1

运行命令:

$GOPATH/bin/Burrow --config-dir /data/goconfig

 

结果为json格式的数据,实例:curl http://127.0.0.1:8000/v3/kafka/(cluster)/consumer

访问接口:

/v3/kafka集群列表
/v3/kafka/(cluster)某集群细节
/v3/kafka/(cluster)/consumerconsumer列表
/v3/kafka/(cluster)/topictopic列表
/v3/kafka/(cluster)/consumer/(group)某消费者细节
/v3/kafka/(cluster)/consumer/(group)/lag某消费者lag积压值
/v3/kafka/(cluster)/topic/(topic)某topic细节
/v3/config获得general配置
/v3/config/cluster集群配置
/v3/admin/loglevel获得日志级别

 

 

 

 

 

 

 

 类似资料: