/Kubernautics

Kubernautics is an open-source tool for monitoring metrics of target applications deployed within a Kubernetes cluster.

Primary LanguageJavaScriptMIT LicenseMIT

Kubernautics

Kubernautics is an open-source cluster monitoring solution that looks to prioritize ease of deployment, ease of use, and a low resource footprint. The program is placed directly into the cluster it is meant to monitor, and interfaces with your Prometheus deployment to provide detailed, reliable metric data. When you arrive at the UI, at your disposal are two dynamic tools to shape your monitoring experience; the dashboard of prometheus-fed cluster and application metrics, and the kubernetes cluster visualizer.

Table of Contents

  1. Built with
  2. Features
  3. Getting Started with Kubernautics
  4. Progress
  5. How to Contribute
  6. Our Team
  7. License

Built with

Kubernetes Docker Prometheus ChartJS ReactRouter Express React Jest MUI Webpack Helm Javascript npm Node.JS HTML5

Features

1. Realtime Monitoring Dashboard

  • Kubernautics compiles all metrics you want to track and constantly pulls information based off of the custom metric scrape rate

2. Customizable Metrics

  • Kubernautics simplifies the Prometheus scraping tasks and provides additional information to each query task
    homepage

3. Cluster Visualization

  • Kubernautics depicts the interdependencies within your cluster but also employs a color-coded system for ease of navigation
    visualizer

Getting Started with Kubernautics

Building the Container Image

The Kubernautics container image must currently be built from source. Download a copy of this repo, and once inside run --

docker build . -t kubernautics:latest

-- to yield an image that can be deployed into your cluster.

Deploying to your cluster

Kubernautics currently assumes it can communicate with prometheus at the following address --

http://prometheus-kube-prometheus-prometheus:9090

-- which is the default configuration when Prometheus is deployed via the Community Helm Chart. We plan to make this configurable in the future.

For a reference deployment, you can run npm run cluster:prod up from inside the repository. You will need minikube and devspace installed locally on your machine; see the setup guide for developers for more info.

How to Contribute

  1. Fork the Project
  2. Create your Feature Branch based off of Dev
  • git checkout -b feature/NewFeature
  1. Setup/enter the development environment

  2. Commit your Changes

  • git commit -m 'What was changed: Description of the NewFeature'
  1. Push to the Branch
  • git push origin feature/NewFeature
  1. Open a Pull Request (from feature/NewFeature to dev)
  • make sure newest dev branch has been merged

Progress

Feature Status
Customizable Cluster Visualizer ⏳
Additional Chart Typing ⏳
Automate Prometheus Configs/Deployment ⏳
Increase Test Coverage πŸ™πŸ»
Reduce Resource Usage πŸ™πŸ»
Deployment with cloud-hosting providers πŸ™πŸ»
  • βœ… = Ready to use
  • ⏳ = In progress
  • πŸ™πŸ» = Looking for contributors

Our Team

β€œJordan”
Jordan Buranskas
Edward
Edward Li
Matin
Matin Schams
Tyler
Tyler Shelton

License

By contributing, you agree that your contributions will be licensed under Kubernautics's MIT License.

back to top