Verspätung is a small utility which aims to help identify delay of Kafka consumers
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle
src
.gitignore
.travis.yml
HACKING.adoc
Jenkinsfile
LICENSE.md
README.adoc
build.gradle
docker-compose.yml
gradle.properties
gradlew
gradlew.bat

README.adoc

Build Status

download

Verspätung is a small utility which aims to help identify delay of Kafka consumers.

Verspätung monitors the topics and their latest offsets by talking to Kafka, it will also keep track of how far along consumers are by monitoring the offsets that they have committed to Zookeeper. Using both of these pieces of information, Verspätung computs the delta for each of the consumer groups and reports it to statsd.

Using

% java -jar verspaetung-*-all.jar --help
usage: verspaetung
 -d,--delay <DELAY>          Seconds to delay between reporting metrics to
                             the metrics receiver (defaults: 5s)
 -H,--statsd-host <STATSD>   Hostname for a statsd instance (defaults to
                             localhost)
 -n,--dry-run                Disable reporting to a statsd host
 -p,--statsd-port <PORT>     Port for the statsd instance (defaults to
                             8125)
    --prefix <PREFIX>        Prefix all metrics with PREFIX before they're
                             reported (e.g. PREFIX.verspaetung.mytopic)
 -s,--storm                  Watch Storm KafkaSpout offsets (under
                             /kafka_spout)
 -x,--exclude <EXCLUDES>     Regular expression for consumer groups to
                             exclude from reporting (can be declared
                             multiple times)
 -z,--zookeeper <HOSTS>      Comma separated list of Zookeeper hosts (e.g.
                             localhost:2181)

Running Verspätung is rather easy, by default the daemon will monitor the standard Kafka high-level consumer offset path of /consumers and start reporting deltas automatically.