Skip to content

An open-source visualization tool for monitoring Kafka cluster metrics

Notifications You must be signed in to change notification settings

oslabs-beta/Hyperionn

Repository files navigation

GitHub Tutorial

Logo

Hyperion

An open-source Kafka monitoring tool built for developers

GitHub stars GitHub issues GitHub last commit

hyperionapp.dev

Table of Contents

  1. About the Project
  2. Getting Started
  3. Demo
  4. Roadmap
  5. Contributors
  6. Support the Project
  7. License

About the Project

Hyperion is an open-source visualization tool for monitoring crucial health metrics of your Kafka cluster. This tool allows developers to quickly assess the functionality of their Kafka cluster, as well as identify metrics that become out of the appropriate range. Real-time metrics are consolidated in one dashboard for easy access, and developers have access to an error log where instances of out-of-range metrics are displayed. This application can be deployed on your local network.

Featured metrics include: under-replicated partitions, offline partitions, active controller count, producer average request latency, request rate, response rate, bytes consumed rate, and producer outgoing byte rate.

Built With

Getting Started

Requirements

  1. You will need npm and the latest version of Node.js.

  2. Ports 3001 and 8080 need to be available to run this application.

  3. Make sure you have a running Kafka cluster with a configured Prometheus instance (you will need the domain and port of where Prometheus is running)

Installation

  1. Clone this repository in your local machine:
git clone https://github.com/oslabs-beta/hyperionn
  1. Install all dependencies:
npm install
  1. Build your version of Hyperion:
npm run build

When you're ready to use Hyperion

  1. Start the server:
npm start
  1. Hyperion defaults to running on port 3000. Simply go to http://localhost:3000 to view your metrics and start managing your Kafka cluster!

  2. After you log in, click ‘connect’ in the side navbar. Input the port number and the domain where your prometheus instance is running for your Kafka cluster and click ‘submit’.

  3. Congratulations! You can now view live streaming of data.

Note: When the simple key metrics (active controllers, under-replicated partitions, offline partitions) are not their expected values, the app will store the occurrence and display them in the error log found on the side navbar.

Demo

LoginScreenshot
1. Login with traditional sign up or Google/Github SDK authentication.
ConnectScreenshot
2. Connect to your Prometheus domain/IP and port.
DashboardScreenshot
3. Your dashboard will populate with the metrics after connecting.
ErrorLogScreenshot
4. Utilize the Error Logs to view occurences of out of range metrics.

Roadmap

Here are some features the Hyperion team is working on adding to the application in the near future:

  • Additional metrics to view monitor performance
  • Ability to customize dashboard with metrics that are important to your Kafka cluster
  • End-to-end testing with Cypress
  • Refactoring codebase to Typescript for static testing

If there is a feature you think would be useful to you and your team, or if you find any bugs, please open an issue.

Contributors

Support the Project

Contributions are welcomed and appreciated. You can do the following to support the project!

  • Star this repository
  • Raise new issues
  • Fork, clone, and make a PR to solve an issue
  • Check out our Medium article

License

This product is licensed under the MIT License without restriction.