mesos/kafka

Provide simple WEB UI

Opened this issue · 6 comments

I think that it would be very convenient for most of the users to have WEB UI (together with CLI).
A simple WEB UI could be added to be embedded inside HttpServer.

It could be a single-page-app, containing just 2 tabs:

  • brokers - allows to manage brokers (list|add|update|remove|start|stop)
  • topics - allows to manage topics (list|add|update|rebalace);

I know that this would require some additional effort, but it should not very big and, imho, some basic version could be implemented and delivered in 5-10 days. We could start just with brokers tab, for instance.

Not exactly what you're looking for but it's quite helpful https://github.com/yahoo/kafka-manager

Hey @mindscratch we modified kafka-manager for some of these https://github.com/stealthly/kafka-manager but not sure how maintainable that is going to be with upstream/downstream re-base. It would be great to have a single kafka-manager that can support implementations, agreed.

@joestein Maybe the "solution" is a React.js client that is a static bit of html + javascript and simply uses the existing HTTP api you've so nicely written for this framework?

@joestein If I understood correctly, you forked the yahoo/kafka-manager project and replaced the "JMX scheduler" with the mesos/kafka one, right?

I have created a first version of the WebUI using Angular and Material Design here: https://github.com/sagentio/kafka/tree/feature/webui

Currently works:

  • List brokers
  • Start broker
  • Stop broker
  • Remove broker
  • List topics

TODO:

  • Add a broker
  • Add a topic
  • Update a topic
  • Create overview / detail screens per broker / topic that shows more info.
  • Add menu on the left and some logic navigation.

image

Please let me know what you think of it and if you would consider this usable!

@tobilg correct, we haven't integrated the admin though so that is still kafka-manager instead of through scheduler ... having it through the scheduler is important so we can have things like rackaware partition assignment, rebalancing, etc so it is more of a view only thing really

@sjoerdmulder cool, we'll take a look