Cluster Sense is an open-source product dedicated to developing a Kafka cluster visualization tool. Our tool is designed with developers in mind, to help our users visualize their metrics and have an understanding of their clusters' health.
Real-time Metrics and Charts: ClusterSense provides a GUI with important metrics, updated in real-time for insights into your Kafka clusters' health and performance through visually appealing charts.
Seamless Prometheus Integration: Setting up Prometheus to scrape Kafka metrics has never been easier. View our sample YML file to guide you through the prometheus configuration, ensuring that the process is a smooth experience.
Profile Port Selection: The application's top navbar has a dropdown that stores your previous port selections for easy navigation between seperate Kafka Instances for seamless monitoring of multiple brokers or clusters.
To begin using ClusterSense, navigate to ClusterSense.org and create an account.
- Ensure prometheus is running and connected with your broker/cluster
- Enter the port prometheus is currently occupying into the form and hit submit; we have included a sample prometheus.yml file in the sampleconfig directory to streamline your prometheus configuration.
- View real-time data of your Apache-Kafka instance
Alternatively, if you would prefer to run ClusterSense locally, you may fork and clone our Github repository.
- Create a .env file in the main directory and create a variable PG_URL set equal to your PostgreSQL server instance URI
- Instantiate the database using the CLI with these table formats:
CREATE TABLE "users" ( user_id serial PRIMARY KEY, username varchar(50) NOT NULL, password varchar(255), oauth_provider varchar(255), oauth_id varchar(255), oauth_access_token varchar(255), oauth_refresh_token varchar(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE cluster( id SERIAL PRIMARY KEY, user_id SERIAL REFERENCES users(user_id), cluster_port INTEGER NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)
- In the terminal run:
npm install
npm run dev
- Once the application is running, navigate to localhost:3030, create an account, and input the port of your Prometheus server.
If you would like to contribute to this product and improve upon it's current functionality or add a feature, please fork the repository and submit a pull request. Some of our planned features for ClusterSense include:
- Open Authorization
- Light/Dark Mode
- Adding User-Defined Charts to GUI
- Alerting with user-defined service level indicators
This project is licensed under the MIT License