Giter Site home page Giter Site logo

alvin-cheung / eisodos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oslabs-beta/eisodos

0.0 0.0 0.0 7.17 MB

Unify and Visualize Your Kubernetes Cluster Metrics With One Powerful Tool

Home Page: https://eisodos.app/

JavaScript 1.42% TypeScript 97.85% CSS 0.27% HTML 0.46%

eisodos's Introduction

EISODOS

What is Eisodos?

Eisodos is an open source product that simplifies Kubernetes metric visualization, offering a user-friendly interface. It empowers users to effortlessly monitor and analyze their environments, while providing powerful visualization capabilities for clear insights.

Tech Stacks

Typescript JavaScript React Redux Redux Toolkit Prometheus Jest Git Tailwind CSS Docker Passport.js Express.js Kubernetes Webpack Nivo MongoDB HTML

Prerequisites:

Application Instructions:

This application requires you to run your kubernetes cluster locally. We suggest you use the tool kind to do this.

  1. Install Kind:

    • For Mac: brew install kind
  2. Verify the installation of kubectl:

    • Run kubectl --help to check if you have access to it.
    • If not, follow the instructions here to install kubectl.
  3. Delete any existing kind cluster:

    • List the clusters to delete: kind get clusters
    • Delete a cluster: kind delete cluster --name <cluster-name>
  4. Ensure Docker is running.

  5. Create your cluster

    • Create a cluster with default settings kind create cluster
    • if you wish to create a custom cluster please visist the quick start kind [guide](https://kind.sigs.k8s.io/docs/user/ quick-start/#creating-a-cluster). This guide will also serve to help you with configuring your cluster in Kind.

Now that we have our default cluster running you can set up prometheus. This guide will set up the version of prometheus that it works best with but you are free to try others as well. If you follow our guide note that you are working with release .10 of the kube prometheus repository for version 1.23 of kubernetes.

  1. Run your docker container

    docker run -it -v ${PWD}:/work -w /work alpine sh

  2. Adding git to opened container

    apk add git

  3. Shallow cloning file into container

    # clone
    git clone --depth 1 https://github.com/prometheus-operator/kube-prometheus.git -b release-0.10 /tmp/
    
    # view the files
    ls /tmp/ -l
    
    # we are interested in the "manifests" folder
    ls /tmp/manifests -l
    
    # let's grab it by copying it out the container
    cp -R /tmp/manifests .
    
  4. Exiting

    exit

  5. Apply Manifests

  • kubectl create -f ./manifests/setup/
  • kubectl create -f ./manifests

Please wait for all pods to be in a ready state before continuing (to check this run kubectl -n monitoring get pods)

  1. With your CRDs created from the manifests you gathered you can configure Prometheus with a yaml file. We have provided a template for doing so with the correct versions but you can make changes if you would like.
  • if using our YAML file run kubectl apply -n monitoring -f prometheus.yaml
  1. Now that prometheus is set up, you can deploy your application to this cluster using kubectl to do so. Don't forget to add service monitors so that prometheus can scrape metrics for you!

  2. One last thing! Once your app is running in the cluster and configured to your liking you will need to expose port 9090 to enable metric scraping.

  • kubectl -n monitoring port-forward svc/prometheus-operated 9090

Eisodos Setup Guide

  • clone this repository to your machine
  • npm install to install dependencies
  • Set project name, description, and authors in package.json
  • Add your MongoDB connection string to mongoURI in server.js

The Eisodos Team

eisodos's People

Contributors

aalayaholaes avatar jadler999 avatar pearlhchang avatar ronliu avatar viiewss 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.