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.
-
You will need npm and the latest version of Node.js.
-
Ports 3001 and 8080 need to be available to run this application.
-
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)
- Clone this repository in your local machine:
git clone https://github.com/oslabs-beta/hyperionn
- Install all dependencies:
npm install
- Build your version of Hyperion:
npm run build
- Start the server:
npm start
-
Hyperion defaults to running on port 3000. Simply go to http://localhost:3000 to view your metrics and start managing your Kafka cluster!
-
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’.
-
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.
1. Login with traditional sign up or Google/Github SDK authentication. 2. Connect to your Prometheus domain/IP and port. 3. Your dashboard will populate with the metrics after connecting. 4. Utilize the Error Logs to view occurences of out of range metrics.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.
- Anish Patel | GitHub | Linkedin
- Kristin Green | GitHub | Linkedin
- Joey Friedman | GitHub | Linkedin
- Anita Duong | GitHub | Linkedin
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
This product is licensed under the MIT License without restriction.