Kafkakitty is a kafkacat-inspired utility which brings Kafka messages to your browser in real-time.
Kafkakitty uses similar arguments to kafkacat, but does not have full parity. To run against a locally running Kafka service, use the following invocation:
% kafkakitty -t my-topic
This will automatically open a browser to localhost:8000, which is where the Kafkakitty interface can be found.
Kafkakitty 😿 0.2.0 A cute little Kafka consumer USAGE: kafkakitty [FLAGS] [OPTIONS] --topics <topics>... FLAGS: -h, --help Prints help information -n, --no-open Disable opening a browser window automatically -V, --version Prints version information OPTIONS: -b, --brokers <brokers> Broker list in kafka format [default: localhost:9092] -G, --group-id <group-id> Consumer group ID for Kafka [default: kafkakitty] -X <settings>... Set a librdkafka configuration property -t, --topics <topics>... List of topics to follow
For the various additional properties which can be set through the
command-line argument, the
configuration documents the possible options.
Kafkakitty does not come with any built-in security, which means that all users on the machine will be able to view the locally hosted server.
Kafkakitty is really composed of two related parts:
Because of this it is important to have both Rust and Node installed in your development environment.
Install the Node packages with
Build the frontend:
npm run build
In order to rapidly prototype the frontend, it can be helpful to run the
backend (see below) and then spin up a dynamically reloading frontend server
npm run dev. Once the dev server is online, it should be available at
localhost:8080 and should reload assets as the
Vue components are changed.
It is usually best to build the backend only after building the frontend, since the backend build will include assets generated by the frontend build process.
Build the Rust application with
Run the backend with
cargo run — -t my-topic