Apache Kafka, a message broker and event streaming platform is set for an upgrade.
Instead of relying on Zookeeper for broker management Apache is introducing new Kafka Raft (KRaft) mode for controller election, integrating cluster management directly into the cluster servers.
ZooKeeper mode (Legacy mode) is still the most widely used approach and is considered stable and production-ready.
KRaft mode is a newer option introduced to eventually replace ZooKeeper. It eliminates the dependency on ZooKeeper for managing cluster metadata.
KRaft mode offers greater scalability than ZooKeeper mode, enabling Kafka clusters to manage increased traffic and data more efficiently. Additionally, KRaft mode provides faster performance, leading to reduced latency and higher throughput compared to ZooKeeper mode.
Zookeeper will be completely removed in the next major release (Kafka 4.0), which is currently expected to be available sometime after July 2024.
Amidst these significant changes, many open-source monitoring tools still concentrate on monitoring Kafka clusters with Zookeeper configurations. Very soon it will be crucial for businesses using Kafka to find monitoring applications that are designed for the updated Raft consensus protocol.
KMon is an open source Kafka cluster health and metrics monitoring solution with customization for metrics visualizations and configurable alerts that is fully compatible with KRaft.
Anticipating future changes, KMon integrates effortlessly with Kafka clusters using the KRaft protocol. It streamlines broker discovery and empowers management of Kafka clusters.
KMon is built as a desktop application with Electron. You only need to provide addresses for controllers and a seed broker address. KMon then automatically discovers other brokers and sets up a horizontally scaling Prometheus instance to collect metrics from your entire cluster.
To use KMon, start by installing Docker. It is required to run Prometheus and Grafana.
With Docker ready and running, clone this repo, set up the Docker network, and install dependencies.
git clone
docker network create
npm install
You are all set to build and run your application! Make sure you have the Docker daemon running, then from the project root directory:
npm run build
npm start
KMon is ready to monitor your application now. Head to the Connections page and provide controller and seed broker details. KMon will discover the remaining brokers in your cluster for you.
We are planning to launch these features next:
Cloud clusters support
Improved visibility with user-defined alerts
Enhanced security with SSL/SASL encryption
The team:
Elliot Cho - LinkedIn & Github
Darryl Joo - LinkedIn & Github