Debug School

Cover image for UI for Apache Kafka
Suyash Sambhare
Suyash Sambhare

Posted on

UI for Apache Kafka

Apache Kafka UI is a Versatile, fast, and lightweight web UI for managing Apache Kafka® clusters. UI for Apache Kafka is a simple tool that makes your data flows observable, helps find and troubleshoot issues faster, and delivers optimal performance. Its lightweight dashboard makes it easy to track key metrics of your Kafka clusters - Brokers, Topics, Partitions, Production, and Consumption. UI for Apache Kafka is a free tool built and supported by the open-source community.

Install

To install on docker run:
docker run -it -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true provectuslabs/kafka-ui

Then access the web UI at http://localhost:8080

The command is only to demo things out. When you want a more permanent installation follow these steps:

services:
  kafka-ui:
    container_name: kafka-ui
    image: provectuslabs/kafka-ui:latest
    ports:
      - 8080:8080
    depends_on:
      - kafka0
    environment:
      DYNAMIC_CONFIG_ENABLED: 'true'
      KAFKA_CLUSTERS_0_NAME: wizard_test
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
Enter fullscreen mode Exit fullscreen mode

Dynamic config files

Kafka-ui is a stateless application by its nature, so, when you edit configuration during runtime, it will store configuration additions on the container's filesystem (in dynamic_config.yaml file). Dynamic config file will be overridden on each configuration submission.

During the configuration process, you can also upload configuration-related files (like trust store and keystores). They will be stored in etc/kafkaui/uploads a folder with a unique timestamp suffix to prevent name collision. In the wizard, you can also use files that were mounted to the container's filesystem, without uploading them directly.

Note, that if the container is recreated, your edited (and uploaded) files won't be present and the app will be started with static configuration only. If you want to be able to keep the configuration created by the wizard, you have to mount/copy the same files into newly created kafka-ui containers (whole /etc/kafkaui/ folder, by default).

Properties, specified where dynamic config files will be persisted:

Env variable name Yaml property Default Description
DYNAMIC_CONFIG_PATH dynamic.config.path /etc/kafkaui/dynamic_config.yaml Path to dynamic config file
CONFIG_RELATED_UPLOADS_DIR config.related.uploads.dir /etc/kafkaui/uploads Path where uploaded files will be placed

Ref: https://docs.kafka-ui.provectus.io/configuration/configuration-wizard

Top comments (0)