Skip to content

exacloud/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

Browse Kafka topics and understand what's happening on your cluster. Find topics / view topic metadata / browse topic data (kafka messages) / view topic configuration / download data. This is a web tool for the confluentinc/kafka-rest proxy.

Live Demo

kafka-topics-ui.landoop.com

Running it

    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.

Build from source

    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 / {
      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;
    }

Setup Kafka Rest clusters

Use multiple Kafka Rest clusters in env.js :

var clusters = [
  {
    NAME:"prod",
    KAFKA_REST : "prod.url.com",// "The Kafka Rest url"
    MAX_BYTES: "?max_bytes=50000",
    COLOR: "#141414" // Optional
  },
  {
  NAME:"dev",
  KAFKA_REST : "dev.url.com", "The Kafka Rest url"
  MAX_BYTES: "?max_bytes=50000",

  COLOR: "red" // Optional
  }
]

  • Use MAX_BYTES to set the default maximum amount of bytes to fetch from each topic.
  • Use COLOR to set different header colors for each set up cluster.

Changelog

Here

License

The project is licensed under the BSL license.

Relevant Projects

  • schema-registry-ui, View, create, evolve and manage your Avro Schemas for multiple Kafka clusters
  • kafka-connect-ui, Set up and manage connectors for multiple connect clusters
  • 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

www.landoop.com

About

Web Tool for Kafka Topics using Kafka Rest |

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 69.9%
  • HTML 22.0%
  • CSS 7.3%
  • Shell 0.8%