168

GitHub - tchiotludo/kafkahq: Kafka GUI for topics, topics data, consumers group...

 5 years ago
source link: https://github.com/tchiotludo/kafkahq
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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
    • Handle Kafka Registry Deserialization
    • Filter with a starting offset
    • Filter with a starting time
  • 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 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK