Kafka GUI for topics, topics data, consumers group and more...
Clone or download
Latest commit 8c4e8cd Jan 18, 2019

README.md

KafkaHQ

Kafka GUI for topics, topics data, consumers group and more...

preview

Features

  • General
    • Works with modern Kafka cluster (1.0+)
    • Connection on standard or ssl, sasl cluster
    • Multi cluster
  • Topics
    • List
    • Configurations view
    • Partitions view
    • Consumers groups assignemnts view
    • Node leader & assignemnts view
    • Delete a topic
  • Browse Topic data
    • View data, offset, key, timestamp & headers
    • Configurations view
    • Logs view
    • Delete a record
    • Sort view
    • Filter per partitions
    • Filter with a starting time
    • Handle Kafka Registry Deserialization
    • Filter with a starting offset
  • Consumer Groups (only with kafka internal storage, not with old Zookepper)
    • List with lag, topics assignemnts
    • Partitions view & lag
    • Node leader & assignemnts view
    • Display active and pending consumers groups
    • Delete a consumer group
    • Update consumer group offsets
  • Nodes
    • List
    • Configurations view
    • Logs view

Installation

First you need a configuration files in order to configure KafkaHQ connections to Kafka Brokers.

Docker

docker run -d \
    -p 8080:8080 \
    -v application.conf:/app/application.conf
    tchiotludo/kafkahq

Go to http://localhost:8080

Stand Alone

  • Install Java 8
  • Download the latest jar on release page
  • Create an application.conf in the same directory
  • Launch the application with java -jar kafkahq.jar prod
  • Go to http://localhost:8080

Configuration

Configuration file is a HOCON configuration file with an example below :

{
  kafka {
    connections {
      plaintext {
          bootstrap.servers: "kafka:9092"
      }
      ssl {
        bootstrap.servers: "kafka:9093"
        security.protocol: SSL
        ssl.truststore.location: /app/truststore.jks
        ssl.truststore.password: password
        ssl.keystore.location: /app/keystore.jks
        ssl.keystore.password: password
        ssl.key.password: password
      }
    }
  }
}

kafka.connections is a key value configuration with :

  • key: must be an url friendly string the identify your cluster
  • value: all the configurations found on Kafka consumer documentation. Most important is bootstrap.servers that is a list of host:port of your Kafka brokers.

KafkaHQ docker image support 1 environment variables to handle configuraiton :

  • KAFKAHQ_CONFIGURATION: a string that contains the full configuration that will be written on /app/configuration.conf on container.

Development Environment

A docker-compose is provide to start a development environnement. Just install docker & docker-compose, clone the repository and issue a simple docker-compose up to start a dev server. Dev server is a java server & webpack-dev-server with live reload.

License

Apache 2.0 © tchiotludo