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.
- Install Docker Desktop on your machine: https://www.docker.com/products/docker-desktop/
- Enable Kubernetes in Docker Desktop settings
Application Instructions:
This application requires you to run your kubernetes cluster locally. We suggest you use the tool kind to do this.
-
Install Kind:
- For Mac:
brew install kind
- For Mac:
-
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
.
- Run
-
Delete any existing kind cluster:
- List the clusters to delete:
kind get clusters
- Delete a cluster:
kind delete cluster --name <cluster-name>
- List the clusters to delete:
-
Ensure Docker is running.
-
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.
- Create a cluster with default settings
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.
-
Run your docker container
docker run -it -v ${PWD}:/work -w /work alpine sh
-
Adding git to opened container
apk add git
-
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 .
-
Exiting
exit
-
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
)
- 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
-
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!
-
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
- 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
inserver.js