Burrow - Kafka消费者滞后检查
Burrow是一个用于Apache Kafka的监视伴侣,它提供了无需指定阈值的消费者滞后检查服务。它监控所有消费者的已提交偏移量,并按需计算这些消费者的状态。提供了一个HTTP端点来按需请求状态,以及提供其他Kafka集群信息。还有可配置的通知程序,可以通过电子邮件或HTTP调用另一个服务发送状态。
特性
- 无需阈值!组是在滑动窗口上评估的。
- 多Kafka集群支持
- 自动监控使用Kafka提交偏移量的所有消费者
- 可配置的Zookeeper提交偏移量支持
- 可配置的Storm提交偏移量支持
- 提供消费者组状态、代理和消费者信息的HTTP端点
- 可配置的电子邮件程序,用于发送特定组的警报
- 可配置的HTTP客户端,用于向另一个系统发送所有组的警报
入门
先决条件
Burrow是用Go编写的,所以在开始之前,您应该安装并设置Go。由于依赖项是使用Go module管理的,支持的最低Go版本是1.11,但我们建议使用1.12版本进行开发。
构建和安装
$ 将github.com/linkedin/Burrow克隆到$GOPATH外的目录。或者,您可以导出GO111MODULE=on来启用Go module。
$ 进入源码目录。
$ go mod tidy
$ go install
运行Burrow
$ $GOPATH/bin/Burrow --config-dir /包含配置的路径
使用Docker
提供了一个Docker文件,它在Alpine Linux映像上构建了这个项目。
要使用它,请构建您的Docker容器,将Burrow配置安装到/etc/burrow
,然后运行Docker。
还有一个Docker Compose,可以快速轻松地进行开发。
安装Docker Compose后:
-
构建Docker容器:
docker-compose build
-
运行Docker Compose堆栈,其中包括kafka和zookeeper:
docker-compose down; docker-compose up
-
默认已经创建了一些测试主题,Burrow可以在
http://localhost:8000/v3/kafka
上访问。
配置
有关如何编写配置文件的信息,请查看详细的维基
许可证
版权所有 2017 LinkedIn Corp。根据Apache许可证2.0版(以下简称"许可证")获得许可;除非符合许可证,否则不得使用此文件。您可以从http://www.apache.org/licenses/LICENSE-2.0获得许可证副本。
除非适用法律要求或书面同意,否则根据许可证分发的软件是在"原样"基础上提供的,没有任何明示或暗示的担保或条件。