Use Kafdrop Web UI with Aiven for Apache Kafka®

Kafdrop is a popular Web UI for Apache Kafka® that allows you to monitor a cluster, view topics and consumer groups with integration into the Schema Registry, with support for Avro, JSON and Protobuf.

Retrieve Aiven for Apache Kafka® SSL certificate files

Aiven for Apache Kafka® by default enables TLS security. The certificates can be manually downloaded from the service overview page in the Aiven console, or via the dedicated Aiven CLI command.

Setup a Kafdrop configuration file

Kafdrop supports both SASL and SSL authentication methods. The following example shows the SSL version which requires a keystore and truststore that can be created following the dedicated documentation.

Once the keystore and truststore are created, you can define a Kafdrop configuration file named kafdrop.properties with the following content, replacing the KEYSTORE_PWD and TRUSTSTORE_PWD with the keystore and truststore passwords respectively:

security.protocol=SSL
ssl.keystore.password=KEYSTORE_PWD
ssl.keystore.type=PKCS12
ssl.truststore.password=TRUSTSTORE_PWD

Run Kafdrop on Docker

You can run Kafdrop in a Docker/Podman container with the following command, by replacing the KAFKA_SERVICE_URI with the Aiven for Apache Kafka® service URI available in the service Overview tab of the Aiven console, and the client.truststore.jks and client.keystore.p12 with the keystores and truststores file names:

docker run -p 9000:9000                                                 \
    -e KAFKA_BROKERCONNECT=KAFKA_SERVICE_URI                            \
    -e KAFKA_PROPERTIES="$(cat kafdrop.properties | base64)"            \
    -e KAFKA_TRUSTSTORE="$(cat client.truststore.jks | base64)"         \
    -e KAFKA_KEYSTORE="$(cat client.keystore.p12 | base64)"             \
    obsidiandynamics/kafdrop

If you’re also interested in Kafdrop to de-serialize Avro messages using Karapace schema registry, add the following two lines to the docker run command:

-e SCHEMAREGISTRY_AUTH="avnadmin:SCHEMA_REGISTRY_PWD"   \
-e SCHEMAREGISTRY_CONNECT="https://SCHEMA_REGISTRY_URI" \

Replace, in the above, the SCHEMA_REGISTRY_PWD with the schema registry password and SCHEMA_REGISTRY_URI with the schema registry URI that you can find in the Aiven console service Overview page.

Use Kafdrop

Once Kafdrop starts, you should be able to access it at localhost:9000

Kafdrop in action

You can perform the following tasks with Kafdrop over an Aiven for Apache Kafka® service:

  • View and search topics

  • Create and delete topics

  • View brokers

  • view messages