Exploring Kafka UI Solutions: Features, Comparisons, and Use Cases

Exploring Kafka UI Solutions: Features, Comparisons, and Use Cases

Introduction

This blog post explores various UI solutions available for Apache Kafka. Why do we need a Kafka UI when we have well documented APIs and client libraries? There are a lot of reasons.

  1. We get a more comprehensive and visual overview of what’s happening in our clusters, a.k.a big picture.
  2. It is easier to troubleshoot and diagnose problems. Imagine yourself looking out for messages from a topic and getting nothing but crickets. Did you configure the options correctly? Do you even have RBAC to consume from that topic? These are some of the things you can avoid in the first place when using a UI.
  3. Better administration. A good UI helps organizations and teams manage their data, users and infrastructure with improved operational efficiency.

What are the criteria to look out for in a good UI? There isn’t an agreed-upon list, but we’ve compiled one to the best of our abilities.

  1. Data management. This entails browsing of messages (including live tailing), configuring topics and partitions and message serialization.
  2. User management. Authentication and authorization. Brownie points for quota management. Management of multiple clusters. Can the UI act as a single pane of glass for managing multiple clusters?
  3. Kafka streams integration. Can we visualize stream topologies?
  4. KSQL integration. Can we run KSQL queries via the UI?
  5. Kafka connect integration. Can we integrate with external systems via Kafka connect in the UI?
  6. Metrics. Can we visualize key metrics?

Not all of these criteria are compulsory for evaluating a UI. In fact, some UI solutions brand themselves to only certain items in this list, and that’s fine. In other words, this isn’t a “be all end all” laundry list and your mileage may vary depending upon what you are on the lookout for.

Also, you can use a combination of different tools for different things if you have the ability to do so. For instance, it is not uncommon to use Confluent control center to visualize topics and manage them and use Grafana + Prometheus to visualize cluster metrics.

Now that we’ve laid down the need for a UI and the criteria to evaluate them, let’s do a deep dive of each one in no particular order.

Comparison of UI Tools

Confluent Control Center

The Confluent Control Center, also known as C3, is a part of Confluent’s enterprise offering. You are free to try it on a local setup as documented here.

C3 allows you to,

  1. Manage multiple Kafka clusters from the UI. Although you cannot add/provision new clusters via the UI. Here’s an example of multi-cluster configuration in C3.
  2. Manage topics, create new topics, browse/tail messages in topics.
  3. Configure and manage schema for topics if C3 is configured with Schema registry. Supports JSON, Avro and Protobuf formats.
  4. Manage RBAC roles and role assignments via the UI.
  5. View and manage kafka stream apps(including topology, stream lineage), KSQLDB queries(editor and flow screen) and Kafka connectors via the UI.

C3 has provision to view basic topic related metrics like production and consumption bytes(throughput), under replicated partitions, out of sync replicas(availability) and consumer lag.

There is also a provision to configure alerts via the UI. For example, you can set up an alert where if the cluster is down, a notification will be sent to slack/email/Pagerduty.

Pros

  1. Comprehensive UI, arguably the only UI which supports Kafka streams, KSQL and multi cluster management.
  2. Provides detailed monitoring and visualization of Kafka brokers, topics, consumers, and producers.
  3. We can monitor multiple kafka clusters from a single interface, which is useful for organizations running complex applications.

Cons

  1. Comes as part of the Confluent enterprise offering. Can’t be used standalone.
  2. The UI is designed for a specific set of features, it may lack the flexibility for some organizations whose requirements are for custom monitoring.
  3. It can be resource intensive, as the control center also requires a significant CPU, memory, and storage.

Conduktor

To be fair, Conduktor is more of a suite of tools catered for different audiences rather than a single application.

For starters, there’s the Conduktor Desktop which is a downloadable desktop application. It has the ability to connect to any Apache Kafka cluster, a powerful visual UI to browse data in topics, works with all data serialization formats and any Kafka security setup. It also ships with 2 Kafka demo clusters to get a feel of the product.

We can use Conduktor to manage Kafka streams applications(with limited visualization of topology) and run KSQLDB queries.

Higher tiers offer features like,

  1. Standards enforcement when creating topics
  2. Audit logs traceable down to individual messages and users.
  3. SSO

An interesting USP not found elsewhere is the data masking feature. It helps cluster admins create policies which mask PII (Personally Identifiable Information) to comply with various

Conduktor allows you to:

  1. With the RBAC model, you can manage user and group access. Also allows administrators to grant operation access.
  2. Integrate with your existing identity provider (IdP).
  3. Can view ACLs as service accounts.
  4. Supports advanced javaScript filters for segmenting messages with specific criteria which provides optimization for end users that need to navigate their kafka data seamlessly.

Pros

  • Conduktor can be used as a standalone tool without requiring additional components which simplifies deployment and integration.
  • Provides deep integration to your data service provider, which gives you flexibility to manage your kafka infrastructure from one central platform.
  • Offers several user authentication options, including local users, an LDAP server, LDAPS, Auth0, Okta, Keycloack, and Azure.

Cons

  • Although, the monitoring provided by Coduktor is really good. However, it lacks tracing which is a very important component that needs to be considered a monitoring platform.

Kpow

Kpow by Factor House is a Web UI for Apache Kafka which allows us to monitor a cluster, viewing topics, managing consumer groups, produce and consumer data with integration into the Schema Registry.

Kpow Features include

  1. Real - time monitoring: of kafka brokers, topics, partitions, and consumer groups in real - time.
  2. Browsing and searching: through messages in Kafka topics, which make it easy for developers to inspect and debug the data flows within the cluster
  3. Schema Registry integration: Users can manage and validate the schema registry directly through Kpos interface.
  4. Makes topic search easy with built - in support for JSON Query (JQ) predicates.
  5. Alerting System:Set up the alerts for kafka metrics and events, so the team can respond quickly to critical issues.

Editions

  • Kpow Community Edition (CE): Free for organizations to install in up to three non-production environments.
  • Team: Packed with CE features and enterprise integrations with standard support.
  • Enterprise Version: Offers additional features such as enterprise support, Java 8 compatibility, dedicated account manager and more.

Pros

  • Ensure authentication and authorization while aligning Kafka operations with organizational policies, specifically designed to meet enterprise requirements.
  • Can be deployed in various environments, including on - premises and cloud - based setups.
  • The Kpow CE supports multiple Kafka clusters including Confluent Cloud, AWS MSK, Redpanda, etc.
  • Multi - topic search in JQ filtering, which allows us to reduce time to find the resolution of production issues and work more efficiently in general system development. It’s like find the needle in a haystack in record time.

Cons

  1. We didn’t have access control such as RBAC or any authentication in Community edition. We need to buy the paid editions such as Team and Enterprise Version, which can be very expensive for smaller organizations.
  2. During the topic data inspection, if no key and/or value deserializer is provided, the output shows those fields as null, making it difficult to determine why values are missing.

AKHQ

AKHQ previously known as Kafka HQ, enables developers to search and explore the data within the kafka cluster in a unified console. It offers features for managing topics, topic’s data, consumer groups, schema registry, Kafka connect and more. AKHQ is highly configurable, allowing you to add authentication and roles to the application when using it within an organization, or we can remove it when running it in Docker, Kubernetes, or as a Standalone application.

Pros

  • Supports Avro, and is compatible with LDAP and RBAC.
  • It provides various useful features such as multi - cluster management, message browsing, live tailing, authentication, authorization, read - only mode, schema registry, and Kafka connect management.
  • Supports AWS Identity and Access Management (IAM) Access Control for Amazon MSK.
  • Open source with an active and engaged community.

Cons

  • Provides partial support for Protobuf schema registry, as it only supports protobuf deserializer.
  • Lacks support for Replica Change, JMX metrics visualization and charts.
  • Does not support alerting.
  • May not integrate seamlessly with other kafka components such as external monitoring tools. LIkely require additional configuration or custom development.

Cruise Control

Cruise Control is an open source project which helps to run Apache Kafka clusters at large scale. It is designed to address the operation scalability issues. It optimizes the distribution of workloads within Kafka to enhance performance and overall cluster health. Cruise control is used within LinkedIn to manage almost 3000 Kafka brokers.

Key features of Cruise Control

  • Track resource utilization for brokers, topics, and partitions.
  • Generate multi - goal rebalance proposals.
  • Rebalances partition topology, newly added brokers, and facilitates broker removal.

Pros

  • Automatically balance the workload across kafka brokers, ensuring even distribution of partitions.
  • Optimize the resource usage by distributing partitions based on broker load.
  • Provides the metrics to monitor the performance of Kafka cluster, which helps in detecting and troubleshooting the issues proactively.

Cons

  • Setting up and configuring the Cruise Control can be complex involving numerous configuration parameters such as metrics reporter, configuring rebalancing strategies, and defining optimization goals.
  • Despite the automation such as detecting anomalies, rebalancing partitions, and optimizing resource usage. It often requires manual intervention to adjust settings, correct issues, and scenarios due to its complex configurations. The Varied settings can be challenging and require careful analysis, and ongoing monitoring and adjustments to suit your workloads.
  • There is no in - built alerting, requiring external tool to set up the alerts based on the cruise control metrics

Redpanda Console

Redpanda Console(previously known as KOwl) is a web application designed to help developers to explore messages in your Apache kafka clusters and gain better insight into the kafka clusters. It is solely developed and maintained by Redpanda, with restrictive commercial support from other vendors due to BSL license agreement.

Redpanda Console Feature Include

  • Message Viewer: Explore topic messages in the message viewer through ad - hoc queries and dynamic filters. You can find any message you want using JavaScript functions filter.
  • Consumer groups: List all consumer groups along with their active group offsets.
  • Topic Overview: Browse the list of kafka topics, review their configuration, space usage, list all consumers.
  • Security: Create, list, or edit Kafka ACLs and SASL - SCRAM users.

Pros

  • Includes the Schema Registry in its binary, which allows it to run immediately with the default configuration. It supports both Avro and Protobuf serialization formats, as well as Protobuf message deserialization into JSON format.
  • Through UI, you may perform a variety of cluster administration tasks, carry out mulit cluster management, view brokers, vew and create topics, examine consumer group data, configure listeners, set up ACLs, manage nodes, and more.
  • It easily integrates with Prometheus to provide monitoring and alerting system.

Cons

  • Redpanda doesn’t support setting request quotas or triggering partition rebalancing through the UI.
  • Data must be written to disk synchronously, otherwise, it is possible to lost data during an election of a new leader.

Kafka-ui

UI for Apache Kafkais an open - source web service that allows developers to monitor and manage Apache Kafka cluster. With Kafka - ui , developers can track data flows, find and troubleshoot issues faster and ensure optimal performance. The dashboard includes the key metrics of your kafka cluster, including Brokers, topics, partitions, production, and consumption.

Pros

  • Centralized monitoring and management of all Kafka cluster in one place.
  • Ability to browse messages with JSON, plain text, and AVRO encoding
  • Support creating new topics with dynamic configuration.
  • Custom serialization/deserialization plugins are available for the data such as AWS Glue.

Cons

  • Kafka UI lacks an integrated alerting system, which requires developers to rely on external tools for alerts.
  • Offers fewer security features compared to enterprise tools such as it offers only basic support for role-based access control (RBAC), which is one of the authorization mechanisms. For authentication, you must configure each OAuth 2.0 provider manually.
  • It lacks maintenance features like adding brokers, increasing partitions, rebalancing, and replica changes.

7 Monitoring Tools for Apache Kafka Clusters

A quick comparison of the Apache Kafka cluster monitoring tools

Confluent CC Conduktor Kpow(CE) AKHQ Cruise Control Redpanda Console Kafka - ui
Multi-Cluster Management Yes No No Yes No No Yes
Message Browsing Yes Yes Yes Yes No Yes Yes
Protobuf Support Yes Yes Yes Partial No Yes Yes
Avro Support Yes Yes Yes Yes No Yes Yes
Amazon MSK IAM Support No Yes Yes Yes No Yes Yes
JMX Metrics Validations Yes Yes No No Yes Yes Yes
Schema Registry Yes Yes Yes Yes No Yes Yes
KSQL Integration Yes Yes No Yes No No Yes
Authentication Yes Yes No Yes No Paid Yes
Authorization Yes Yes No Yes No Paid Yes
Resource Usage Yes No No No Yes No No
Rebalancing No Yes No No Yes No No

Conclusion

Having the right UI tools for monitoring and managing Apache Kafka clusters is crucial for maintaining cluster health. A user-friendly interface allows you to easily observe data flows, track metrics, and troubleshoot issues without relying on multiple CLI tools. This streamlined approach leads to fewer bottlenecks, faster reporting, and more cost-effective development.

In this article, I have provided an overview of the leading UI tools for Kafka cluster management and monitoring. While I strive to be objective, I’m sure the community will have additional insights to contribute. Personally, I prefer Confluent Control Center because it offers a wide range of in-built features, such as KSQL, Kafka Connect, and many more. It also allows us to manage more than one cluster, provides detailed information about the Kafka Cluster, and enables us to configure ACL and RBAC directly from the UI. Additionally, it supports private networking between the AWS VPC and the Confluent Cloud kafka cluster.

About The Authors

About The Authors

Zeenia Gupta
Zeenia Gupta DevOps engineer at Platformatory specializing in Site Reliability Engineeing (SRE) and Infrastructure. The role involves managing the infrastructre and make sure the cluster are working fine.