Kaffee provides real-time metric visualization for Apache Kafka. Using the displayed data, users will be able to monitor and diagnose issues within a Kafka broker. As charts are displayed, data is saved within log files for historical analysis.
The easiest way to get Kaffee up and running is to use the provided docker-compose.yml provided in this repository and run docker compose up -d
in a directory containing the file.
Ensure that a Kafka cluster with an exposed JMX port is up and running prior to starting Kaffee. This can be done by simply setting an environment variable JMX_PORT=9999
in your Kafka instance.
Once the container is up and running, navigate to http://localhost:3030.
After booting up Kaffee for the first time you will be presented with the following screen:
Click on the Settings button to ensure that the your Kafka URL, Port, and JMX Ports are all set correctly. Use the Chart Interval slider to change the number of seconds displayed on each chart.
Click the Home button at the top to transition to the metrics display area and click on Choose Metrics will display a list of available metrics to display.
Once you have started tracking a metric, data will be stored in a log file and can be accessed within the History area.
To test a Kafka broker, click the Start Producers button. This will begin the number of Kafka producers and consumers specified within Settings and have them generate dummy data. In order to stop producing this dummy data, click on the button it the same location, now with the text Stop Producers
Confluent has documentation about setting up JMX through their Docker image that can be read here.
Red Hat has documentation about setting up JMX that relates to the Kafka binaries distributed by Apache. These instructions can be read here.
1.1.0
- Converted split Node/Java backend to all Java
- Fixed bug where saved settings wouldn't apply until restart
- Updated styling
1.1.1
- General code cleanup and main branch update
Clay Hilgert Linkedin | GitHub |
Duke Ahn Linkedin | GitHub |
Darren Pavel Linkedin | GitHub |
Vitaly Blotski Linkedin | GitHub |