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.
% 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.