Grafana provides an elegant graphical user interface to visualize data. You can create beautiful dashboard easily with a meaningful representation of your Prometheus metrics.
At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube.
You must have a Stash instant running with monitoring enabled. You can enable monitoring by following the guides for builtin Prometheus scrapper or CoreOS Prometheus Operator. For this tutorial, we have enabled Prometheus monitoring using CoreOS Prometheus operator.
If you already do not have a grafana instance running, deploy one following tutorial from here.
We have to add our Prometheus server
prometheus-prometheus-0 as data source of grafana. We are going to use a
ClusterIP service to connect Prometheus server with grafana. Let’s create a service to select Prometheus server
$ kubectl apply -f https://raw.githubusercontent.com/appscode/stash/0.8.1/docs/examples/monitoring/coreos/prometheus-service.yaml service/prometheus created
Below the YAML for the service we have created above,
apiVersion: v1 kind: Service metadata: name: prometheus namespace: demo spec: type: ClusterIP ports: - name: web port: 9090 protocol: TCP targetPort: 9090 selector: app: prometheus
Now, follow these steps to add the Prometheus server as data source of Grafana UI.
From Grafana UI, go to
Configuration option from sidebar and click on
Then, click on
Add data source.
URL fields as specified below and keep rest of the configuration to their default value then click
Once you have added Prometheus data source successfully, you are ready to create a dashboard to visualize the metrics.
Follow these steps to import the preconfigured stash dashboard,
From Grafana UI, go to
Create option from sidebar and click on
Then, insert the dashboard id
Grafana.com Dashboard field and press
Load button. You can also upload
json configuration file of the dashboard using
Upload .json File button.
prometheus-infra field, select the data source name that we have given to our Prometheus data source earlier. Then click on
Once you have imported the dashboard successfully, you will be greeted with Stash dashboard.
To cleanup the Kubernetes resources created by this tutorial, run:
kubectl delete -n demo service prometheus