An open-source tool for monitoring metrics of target applications deployed within a Kubernetes cluster
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.
Built with
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
3. Cluster Visualization
- Kubernautics depicts the interdependencies within your cluster but also employs a color-coded system for ease of navigation
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
- Fork the Project
- Create your Feature Branch based off of Dev
git checkout -b feature/NewFeature
-
Commit your Changes
git commit -m 'What was changed: Description of the NewFeature'
- Push to the Branch
git push origin feature/NewFeature
- Open a Pull Request (from
feature/NewFeature
todev
)
- 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
License
By contributing, you agree that your contributions will be licensed under Kubernautics’s MIT License.