Kubernetes Cluster Monitoring Made Easy
getinshipshape.io
Table of Contents
ShipShape is an open-source Web App for Kubernetes monitoring. ShipShape allows Users to track numerous Kubernetes Cluster metrics with easy to interpret graphs at varying levels of granularity.
Key features include:
- A facilitated access of internal Kubernetes environment without having to expose it to outside traffic
- Instructions for auto-deployment of Prometheus for time-series metrics
- GraphQL service to abstract PromQL queries for frontend developers
- There are different dashboard views of Kubernetes clusters (cluster, node, and pod view)
- Graphs that display important metrics
- Dynamic time-range and filtering selection for cluster metric data
To get a local copy up and running, follow these steps:
- Installed on your local machine, kubectl and helm command line tools.
- Have a hosted Kubernetes Cluster on a service like EKS, GKE, or MiniKube.
- A metrics server installed inside the cluster, if it is not standard with your cluster service. For metrics server deployment, see our Getting Started for instructions on setting this up.
- Ensure that your local kubeconfig is setup to access the cluster you wish to monitor. You can check that by running the following command and checking the cluster info displayed in your shell.
kubectl config view
- Expose metrics using Prometheus from a Kubernetes cluster. This can be done easily via Helm once the above steps are complete.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm upgrade -i prometheus prometheus-community/prometheus --namespace prometheus
ShipShape requires that you have a running Kubernetes cluster and your local kubeconfig file setup to access it. You can check your configuration by running
kubectl config view
Before running ShipShape the first time, you'll need to pull the codebase down to your local machine and compile the bundle.js for optimal performance.
- Fork and/or clone this repo to get started
git clone https://github.com/oslabs-beta/ShipShape.git
- Cd into the cloned Directory
cd ShipShape
- Npm install in the ShipShape root directory
npm install
- Npm run build
npm run build
After installation is complete, you can start here to boot up ShipShape in the future.
- Start the server
npm start
- Navigate to http://localhost:3000
- Click "Dashboard" to view your metrics!
To see a working demo of ShipShape:
Navigate to the ShipShape demo dashbaord!
Brian Barr - GitHub - LinkedIn
Ozi Oztourk - GitHub - LinkedIn
Rebecca Schell - GitHub - LinkedIn
Whit Rooke - GitHub - LinkedIn
ShipShape is currently in Alpha. Here's some features we hope to have implemented in future versions:
- More options for which metrics you monitor
- More filtering options for “Cluster View” metrics with dynamic PromQL queries
- Impment a state management framework (Redux/Context API)
- UI Optimization for faster rendering
- Prometheus Auto-Deployment to streamline setup
- Organization and user permissions to share access to your metrics with employees without sharing your provider access keys
If you'd like to contributee to ShipShape, please open a PR from your personal fork, or shoot us an email at ShipShapeK8S@gmail.com and our team will work with you to get the feature implemented.
This product is licensed under the MIT License without restriction.