Giter Site home page Giter Site logo

russdawg44 / shipshape Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oslabs-beta/shipshape

0.0 0.0 0.0 44.77 MB

Keeping your Kubernetes Clusters in ShipShape with real-time insights into performance and orchestration activities.

JavaScript 81.14% HTML 0.37% SCSS 18.49%

shipshape's Introduction


Logo

ShipShape

Kubernetes Cluster Monitoring Made Easy

getinshipshape.io

Table of Contents
  1. About The Project
  2. Demo
  3. Getting Started
  4. Contributors
  5. Looking Ahead

About The Project

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

Built With

Demo

Demo Gif

Getting Started

To get a local copy up and running, follow these steps:

Prerequisites

  1. Installed on your local machine, kubectl and helm command line tools.
  2. Have a hosted Kubernetes Cluster on a service like EKS, GKE, or MiniKube.
  3. 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.
  4. 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
  1. 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

Installing ShipShape

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.

  1. Fork and/or clone this repo to get started
git clone https://github.com/oslabs-beta/ShipShape.git
  1. Cd into the cloned Directory
cd ShipShape
  1. Npm install in the ShipShape root directory
npm install
  1. Npm run build
npm run build

Running ShipShape

After installation is complete, you can start here to boot up ShipShape in the future.

  1. Start the server
npm start
  1. Navigate to http://localhost:3000
  2. Click "Dashboard" to view your metrics!

Demo Mode

To see a working demo of ShipShape:

Navigate to the ShipShape demo dashbaord!

Contributors

Brian Barr - GitHub - LinkedIn

Ozi Oztourk - GitHub - LinkedIn

Rebecca Schell - GitHub - LinkedIn

Whit Rooke - GitHub - LinkedIn

Looking Ahead

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

Have an idea to make ShipShape even better?

If you'd like to contributee to ShipShape, please open a PR from your personal fork, or shoot us an email at [email protected] and our team will work with you to get the feature implemented.

shipshape's People

Contributors

barrbrian avatar ozi-oztrk avatar rschelly avatar whitrooke avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.