Burrow 是一款可以监控 Kafka 集群中消费者消费情况的软件,它以一种服务的方式,可以监控所有消费者已经提交的偏移量,以及按需计算这些消费者的状态。
1. 设置环境
Burrow 是 Go 语言编写的,所以需要在 Go 环境下运行,并且最好确保安装的 Go 版本高于 1.12。
go version 检查是否安装了 Go,以及其版本
2. 下载安装包
本地环境:macOS,amd64,下载对应的安装包为 Burrow_1.5.0_darwin_amd64.tar.gz
curl -O https://github.com/linkedin/Burrow/releases/download/v1.5.0/Burrow_1.5.0_darwin_amd64.tar.gz
相关安装包请在这里查找 Burrow releases
3. 配置
Burrow 主要的配置是 ./config/burrow.toml,所以在使用之前需要对监控的 Kafka 集群进行配置。
- Zookeeper 集群为单节点,地址:localhost:2181
- Kafka 客户端版本号为 2.8.0,Kafka 集群为单节点,地址:localhost:9092
- Burrow 使用默认端口 8000
如下是一份 Burrow 的配置示例:
[general]
pidfile="burrow.pid"
stdout-logfile="burrow.out"
access-control-allow-origin="mysite.example.com"
[logging]
filename="~/Burrow_1.5.0/burrow.log"
level="info"
maxsize=100
maxbackups=30
maxage=10
use-localtime=false
use-compression=true
[zookeeper]
servers=[ "localhost:2181"]
timeout=6
root-path="~/Burrow_1.5.0/data"
[client-profile.test]
client-id="burrow-test"
kafka-version="2.8.0"
[cluster.local]
class-name="kafka"
servers=[ "localhost:9092" ]
client-profile="test"
topic-refresh=120
offset-refresh=30
groups-reaper-refresh=0
[consumer.local]
class-name="kafka"
cluster="local"
servers=[ "localhost:9092" ]
client-profile="test"
group-denylist="^(console-consumer-|python-kafka-consumer-|quick-).*$"
group-allowlist=""
[consumer.local_zk]
class-name="kafka_zk"
cluster="local"
servers=[ "localhost:2181" ]
zookeeper-path="/kafka-cluster"
zookeeper-timeout=30
group-denylist="^(console-consumer-|python-kafka-consumer-|quick-).*$"
group-allowlist=""
[httpserver.default]
address=":8000"
(配置各部分的解释可以看 Burrow Configuration)
4. 运行
运行 Burrow:./burrow --config-dir config
启动后可以在上步配置的日志文件中看到相关的运行日志
5. 查看监控
Burrow 提供了 HTTP 服务请求,用于更方便的与 Burrow、Kafka 和 Zookeeper 集群进行交互。
查看 Kafka 集群详细信息的 URL:/v3/kafka/local
HTTP 的使用可参考 Burror HTTP-Endpoint
参考文档: github.com/linkedin/Bu…