Offtopic is a simple web application built with Ratpack for inspecting and consuming events from Apache Kafka
The primary goal of this tool is to give you real-time insight into a running Kafka cluster.
-
Java 8
-
Watch: From the
/topics
page clicking the "watch" button will set up a WebSockets-based stream of events straight from Kafka to your browser -
Multipass: From the
/topics
page you can select multiple topics to watch at once (screenshot of multipass in action) -
Binary data support: Clicking on a message row in the "watch" view will drop down a base64-encoded version of the message data
As of 0.3.0
Offtopic is available as a wholly self-contained executable .jar
file which means running the command below will start Offtopic on localhost:5050:
✗ java -jar offtopic*-all.jar log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
By default Offtopic looks for a Zookeeper on localhost:2181
, if you wish to
connect it to another Zookeeper ensemble, use the zookeeper
Java property,
e.g.:
✗ java -Dzookeepers=example.com:2181 -jar offtopic*-all.jar log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
A somewhat "hidden" feature is the ability to use regular expression when
watching topics. A normal topic watch URL might be
localhost:5050/topics/foo/watch
. If there are a number of topics which are
all prefixed with foo
you can watch them all at the same time with:
localhost:5050/topics/foo*/watch.
The regular expressions that Groovy supports should all be supported in the URL space.