A lightweight, user-friendly desktop application for managing and interacting with Apache Kafka clusters.
-
Connection Management
- Save and manage multiple Kafka cluster connections
- Support for secure connections (SASL, SSL)
- Quick connection switching
-
Message Management
- View messages from Kafka topics
- Produce new messages to topics
- Real-time message preview
- Filter messages by topic
-
Broker Management
- View broker information
- Monitor broker status
- Manage topics
-
User Interface
- Modern, intuitive interface
- Split-panel design for easy navigation
- Status bar for operation feedback
- Comprehensive logging system
- Java 11 or higher
- Apache Kafka 2.x or higher
- Maven (for building from source)
- Clone the repository:
git clone https://github.com/yourusername/kafka-ui.git
cd kafka-ui
- Build with Maven:
mvn clean package
The built JAR file will be located in the target
directory.
Run the application using:
java -jar target/kafka-ui-1.0.jar
-
Creating a Connection
- Click "New Connection" in the Connection menu
- Enter your Kafka broker details
- Save the connection for future use
-
Viewing Messages
- Select a connection from the list
- Choose a topic from the dropdown
- Messages will be displayed in the main panel
- Click on a message to view its contents
-
Producing Messages
- Select your target topic
- Click "Produce Message"
- Enter your message content
- Click "Send" to publish
-
Managing Topics
- Use the broker panel to view and manage topics
- Create new topics
- Delete existing topics
- View topic configurations
The application stores connection configurations in the user's home directory under .kafka-ui/config.json
. This file contains saved connection details and user preferences.
- Supports SASL/PLAIN authentication
- SSL/TLS encryption for secure connections
- Credentials are stored securely using system keystore
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and feature requests, please use the GitHub issue tracker.
Built with ❤️ using Java Swing and Apache Kafka