137 lines
3.8 KiB
Markdown
137 lines
3.8 KiB
Markdown
---
|
|
description: "Telegraf plugin for collecting metrics from Burrow"
|
|
menu:
|
|
telegraf_v1_ref:
|
|
parent: input_plugins_reference
|
|
name: Burrow
|
|
identifier: input-burrow
|
|
tags: [Burrow, "input-plugins", "configuration", "messaging"]
|
|
introduced: "v1.7.0"
|
|
os_support: "freebsd, linux, macos, solaris, windows"
|
|
related:
|
|
- /telegraf/v1/configure_plugins/
|
|
- https://github.com/influxdata/telegraf/tree/v1.36.1/plugins/inputs/burrow/README.md, Burrow Plugin Source
|
|
---
|
|
|
|
# Burrow Input Plugin
|
|
|
|
This plugin collect Kafka topic, consumer and partition status from the
|
|
[Burrow - Kafka Consumer Lag Checking](https://github.com/linkedin/Burrow) companion via [HTTP API](https://github.com/linkedin/Burrow/wiki/HTTP-Endpoint).
|
|
Burrow v1.x versions are supported.
|
|
|
|
**Introduced in:** Telegraf v1.7.0
|
|
**Tags:** messaging
|
|
**OS support:** all
|
|
|
|
[burrow]: https://github.com/linkedin/Burrow
|
|
[api]: https://github.com/linkedin/Burrow/wiki/HTTP-Endpoint
|
|
|
|
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
|
|
|
|
In addition to the plugin-specific configuration settings, plugins support
|
|
additional global and plugin configuration settings. These settings are used to
|
|
modify metrics, tags, and field or create aliases and configure ordering, etc.
|
|
See the [CONFIGURATION.md](/telegraf/v1/configuration/#plugins) for more details.
|
|
|
|
[CONFIGURATION.md]: ../../../docs/CONFIGURATION.md#plugins
|
|
|
|
## Configuration
|
|
|
|
```toml @sample.conf
|
|
# Collect Kafka topics and consumers status from Burrow HTTP API.
|
|
[[inputs.burrow]]
|
|
## Burrow API endpoints in format "schema://host:port".
|
|
## Default is "http://localhost:8000".
|
|
servers = ["http://localhost:8000"]
|
|
|
|
## Override Burrow API prefix.
|
|
## Useful when Burrow is behind reverse-proxy.
|
|
# api_prefix = "/v3/kafka"
|
|
|
|
## Maximum time to receive response.
|
|
# response_timeout = "5s"
|
|
|
|
## Limit per-server concurrent connections.
|
|
## Useful in case of large number of topics or consumer groups.
|
|
# concurrent_connections = 20
|
|
|
|
## Filter clusters, default is no filtering.
|
|
## Values can be specified as glob patterns.
|
|
# clusters_include = []
|
|
# clusters_exclude = []
|
|
|
|
## Filter consumer groups, default is no filtering.
|
|
## Values can be specified as glob patterns.
|
|
# groups_include = []
|
|
# groups_exclude = []
|
|
|
|
## Filter topics, default is no filtering.
|
|
## Values can be specified as glob patterns.
|
|
# topics_include = []
|
|
# topics_exclude = []
|
|
|
|
## Credentials for basic HTTP authentication.
|
|
# username = ""
|
|
# password = ""
|
|
|
|
## Optional SSL config
|
|
# ssl_ca = "/etc/telegraf/ca.pem"
|
|
# ssl_cert = "/etc/telegraf/cert.pem"
|
|
# ssl_key = "/etc/telegraf/key.pem"
|
|
# insecure_skip_verify = false
|
|
```
|
|
|
|
## Group/Partition Status mappings
|
|
|
|
* `OK` = 1
|
|
* `NOT_FOUND` = 2
|
|
* `WARN` = 3
|
|
* `ERR` = 4
|
|
* `STOP` = 5
|
|
* `STALL` = 6
|
|
|
|
> unknown value will be mapped to 0
|
|
|
|
## Metrics
|
|
|
|
### Fields
|
|
|
|
* `burrow_group` (one event per each consumer group)
|
|
* status (string, see Partition Status mappings)
|
|
* status_code (int, `1..6`, see Partition status mappings)
|
|
* partition_count (int, `number of partitions`)
|
|
* offset (int64, `total offset of all partitions`)
|
|
* total_lag (int64, `totallag`)
|
|
* lag (int64, `maxlag.current_lag || 0`)
|
|
* timestamp (int64, `end.timestamp`)
|
|
|
|
* `burrow_partition` (one event per each topic partition)
|
|
* status (string, see Partition Status mappings)
|
|
* status_code (int, `1..6`, see Partition status mappings)
|
|
* lag (int64, `current_lag || 0`)
|
|
* offset (int64, `end.timestamp`)
|
|
* timestamp (int64, `end.timestamp`)
|
|
|
|
* `burrow_topic` (one event per topic offset)
|
|
* offset (int64)
|
|
|
|
### Tags
|
|
|
|
* `burrow_group`
|
|
* cluster (string)
|
|
* group (string)
|
|
|
|
* `burrow_partition`
|
|
* cluster (string)
|
|
* group (string)
|
|
* topic (string)
|
|
* partition (int)
|
|
* owner (string)
|
|
|
|
* `burrow_topic`
|
|
* cluster (string)
|
|
* topic (string)
|
|
* partition (int)
|
|
|
|
## Example Output
|