Convert Figma logo to code with AI

tchiotludo logoakhq

Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more...

3,348
649
3,348
170

Top Related Projects

Open-Source Web UI for Apache Kafka Management

5,516

Kafka Web UI

11,820

CMAK is a tool for managing Apache Kafka clusters

Quick Overview

AKHQ (Apache Kafka HQ) is a web-based tool for managing and monitoring Apache Kafka clusters. It provides a user-friendly interface for browsing topics, consumer groups, and schemas, as well as performing administrative tasks such as creating topics and managing ACLs.

Pros

  • Intuitive web interface for easy Kafka cluster management
  • Supports multiple Kafka clusters and authentication methods
  • Provides real-time monitoring and alerting capabilities
  • Offers schema registry integration and management

Cons

  • Requires additional setup and maintenance compared to command-line tools
  • May introduce security concerns if not properly configured
  • Limited customization options for advanced users
  • Potential performance impact on large-scale Kafka clusters

Getting Started

To run AKHQ using Docker:

docker run -p 8080:8080 -e AKHQ_CONFIGURATION='
akhq:
  connections:
    docker-kafka-server:
      properties:
        bootstrap.servers: "kafka:9092"
' tchiotludo/akhq

Access the AKHQ web interface at http://localhost:8080.

For more advanced configurations, create a application.yml file:

akhq:
  connections:
    local-kafka-server:
      properties:
        bootstrap.servers: "localhost:9092"
      schema-registry:
        url: "http://localhost:8081"

Then run AKHQ with the configuration file:

docker run -p 8080:8080 -v /path/to/application.yml:/app/application.yml tchiotludo/akhq

For detailed setup instructions and configuration options, refer to the official documentation at https://akhq.io/docs/.

Competitor Comparisons

Open-Source Web UI for Apache Kafka Management

Pros of kafka-ui

  • More modern and intuitive user interface
  • Better support for Kafka Connect and Schema Registry
  • Active development with frequent updates and new features

Cons of kafka-ui

  • Less mature project with potential stability issues
  • Fewer advanced features for topic and consumer group management
  • Limited support for older Kafka versions

Code Comparison

kafka-ui (React-based frontend):

const TopicList = () => {
  const { data, isLoading } = useTopics();
  return (
    <Table>
      {data.map(topic => (
        <TopicRow key={topic.name} topic={topic} />
      ))}
    </Table>
  );
};

AKHQ (Vue.js-based frontend):

<template>
  <div class="topic-list">
    <table>
      <tr v-for="topic in topics" :key="topic.name">
        <td>{{ topic.name }}</td>
      </tr>
    </table>
  </div>
</template>

Both projects use modern frontend frameworks, but kafka-ui's React-based approach may offer better performance and maintainability for complex UIs. AKHQ's Vue.js implementation is simpler and potentially easier for newcomers to understand.

5,516

Kafka Web UI

Pros of Kafdrop

  • Lightweight and easy to set up
  • Simple, intuitive user interface
  • Supports viewing consumer group information

Cons of Kafdrop

  • Limited features compared to AKHQ
  • Less active development and community support
  • Lacks advanced management capabilities

Code Comparison

Kafdrop (Java):

@GetMapping("/topic/{name:.+}")
public String topicDetails(@PathVariable("name") String topicName,
                           @RequestParam(value = "view", required = false) String view,
                           Model model) {
    final var topic = kafkaMonitor.getTopic(topicName)
            .orElseThrow(() -> new TopicNotFoundException(topicName));
    model.addAttribute("topic", topic);
    model.addAttribute("consumers", kafkaMonitor.getConsumers(topic));
    return "topic-detail";
}

AKHQ (Kotlin):

@Get("/{cluster}/topic/{topicName}")
fun topic(cluster: String, topicName: String): HttpResponse<Any> {
    val topic = topicRepository.findByName(cluster, topicName)
    val data = topicRepository.getData(cluster, topicName, Optional.empty(), Optional.empty(), 100)
    return HttpResponse.ok(
        mapOf(
            "topic" to topic,
            "data" to data
        )
    )
}

Both repositories provide web-based management interfaces for Apache Kafka. Kafdrop offers a simpler, more lightweight solution, while AKHQ provides a more comprehensive set of features and management capabilities. The code comparison shows similar approaches to handling topic details, with AKHQ using Kotlin and offering more flexibility in its implementation.

11,820

CMAK is a tool for managing Apache Kafka clusters

Pros of CMAK

  • More mature project with longer development history
  • Wider adoption and larger community support
  • Extensive documentation and user guides

Cons of CMAK

  • Less frequent updates and slower development cycle
  • More complex setup and configuration process
  • Heavier resource usage, especially for large Kafka clusters

Code Comparison

CMAK (Scala):

def getClusterContext(clusterName: String): KafkaAdminClient = {
  kafkaAdminClientMap.getOrElseUpdate(clusterName, {
    KafkaAdminClient(KafkaAdminClientActorConfig(clusterName, config))
  })
}

AKHQ (Java):

@Inject
public KafkaModule(KafkaConfiguration kafkaConfiguration) {
    this.kafkaConfiguration = kafkaConfiguration;
    this.clustersMap = new ConcurrentHashMap<>();
}

Both projects aim to provide management and monitoring tools for Apache Kafka clusters. CMAK, formerly known as Kafka Manager, offers a more established solution with broader community support. However, AKHQ provides a more modern and lightweight alternative with a focus on ease of use and frequent updates. The code comparison shows different approaches to managing Kafka client connections, with CMAK using Scala and AKHQ using Java.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

AKHQ (previously known as KafkaHQ)

Last Version License Docker Pull Github Downloads Github Start Main Artifact HUB

Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more...

AKHQ for Kafka logo

AKHQ for Kafka preview

Documentation

  • The official AKHQ documentation can be found under: akhq.io

From AKHQ project creator

Kestra

Kestra: Open source data orchestration and scheduling platform

Kestra is an infinitely scalable orchestration and scheduling platform, creating, running, scheduling, and monitoring millions of complex pipelines.

Discover the project!

Who's using AKHQ

Credits

Many thanks to:

  • JetBrains for their free OpenSource license.
  • Apache, Apache Kafka, Kafka, and associated open source project names are trademarks of the Apache Software Foundation. AKHQ is not affiliated with, endorsed by, or otherwise associated with the Apache Software.

Jetbrains

License

Apache 2.0 © tchiotludo