Skip to content

ImproveDigital/kafka-topics-ui

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kafka-topics

release docker Join the chat at https://gitter.im/Landoop/support

Kafka UI for Kafka data. Can browse any topic and help you understand what's happening on your cluster

Demo of kafka-topics

Capabilities find topics / view topic metadata / browse topic data (kafka messages) / view topic configuration / download data

Currently uses the confluentinc/kafka-rest proxy, but future versions will be capable of interacting with topics via other means as well.

Other interesting projects

Description
schema-registry-ui View, create, evolve and manage your Avro Schemas on your Kafka cluster
Landoop/fast-data-dev Docker for Kafka developers (schema-registry,kafka-rest,zoo,brokers,landoop)
Landoop-On-Cloudera Install and manage your kafka streaming-platform on you Cloudera CDH cluster

Preview

Running it

To run it standalone through Docker:

docker pull landoop/kafka-topics-ui
docker run --rm -it -p 8000:8000 \
           -e "KAFKA_REST_PROXY_URL=http://kafka-rest-proxy-host:port" \
           -e "PROXY=true" \
           landoop/kafka-topics-ui

Config: If you don't use our docker image, keep in mind that Kafka-REST-Proxy CORS support can be a bit buggy, so if you have trouble setting it up, you may need to provide CORS headers through a proxy (i.e. nginx).

Note: The schema-registry is optional and topics are attempted to be read using Avro, then fall back to JSON, and finally fall back to Binary.

Example for nginx

location / {
  add_header 'Access-Control-Allow-Origin' "$http_origin" always;
  add_header 'Access-Control-Allow-Credentials' 'true' always;
  add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
  add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With' always;

  proxy_pass http://kafka-rest-server-url:8082;
  proxy_redirect off;

  proxy_set_header  X-Real-IP  $remote_addr;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header  Host $http_host;
}

We also provide the kafka-topics-ui as part of the fast-data-dev, that is an excellent docker for developers

Building it

  • You need to download dependencies with bower. Find out more here
  • You need a web server to serve the app.
  • By default kafka-topics-ui points to some default locations like http://localhost:8081 To point it to the correct backend servers, update src/env.js

Steps

git clone https://github.com/Landoop/kafka-topics-ui.git
cd kafka-topics-ui
npm install
http-server .

Web UI will be available at http://localhost:8080

Nginx config

If you use nginx to serve this ui, let angular manage routing with

location / {
    try_files $uri $uri/ /index.html =404;
    root /folder-with-kafka-topics-ui/;
}

License

The project is licensed under the BSL license

About

UI for viewing Kafka Topics config and data using kafka-rest

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 76.4%
  • HTML 16.8%
  • CSS 5.7%
  • Shell 1.1%