Burrow provides advanced Kafka Consumer Lag Checking. It is a monitoring companion for Apache Kafka that provides consumer lag checking as a service without the need for specifying thresholds. It monitors committed offsets for all consumers and calculates the status of those consumers on demand. An HTTP endpoint is provided to request status on demand, as well as provide other Kafka cluster information. There are also configurable notifiers that can send status out via email or HTTP calls to another service.
Burrow is designed to be run as a standalone application (CLI), and this is what the main package provides. In some situations it may be better for you to wrap Burrow with another application - for example, in environments where you have your own application structure to provide configuration and logging. To this end, Burrow can also be used as a library within another app.
When embedding Burrow, please refer to https://github.com/linkedin/Burrow/blob/master/main.go for details on what preparation should happen before starting it. This is the wrapper that provides the CLI interface. The main logic for Burrow is in the core package, while the protocol package provides some of the common interfaces that are used.
More documentation on Burrow, including configuration and HTTP requests, can be found at https://github.com/linkedin/Burrow/wiki
|core||Package core - Core Burrow logic.|
|core/internal||Package internal - Here be dragons.|
|core/internal/cluster||Package cluster - Kafka cluster subsystem.|
|core/internal/consumer||Package consumer - Kafka consumer subsystem.|
|core/internal/evaluator||Package evaluator - Group evaluation subsystem.|
|core/internal/helpers||Package helpers - Common utilities.|
|core/internal/httpserver||Package httpserver - HTTP API endpoint The httpserver subsystem provides an HTTP interface to Burrow that can be used to fetch information about the clusters and consumers it is monitoring.|
|core/internal/notifier||Package notifier - Status notification subsystem.|
|core/internal/storage||Package storage - Data storage subsystem.|
|core/internal/zookeeper||Package zookeeper - Common Zookeeper subsystem.|
|core/protocol||Package protocol - Burrow types and interfaces.|