To quickly start all the things just do this:
kubectl apply \
--filename https://raw.githubusercontent.com/artempronevskiy/kubernetes-prometheus/master/manifests-all.yaml
This will create the namespace monitoring
and bring up all components in there.
To shut down all components again you can just delete that namespace:
kubectl delete namespace monitoring
If you want to re-import the default dashboards from this setup run this job:
kubectl apply --filename ./manifests/grafana/import-dashboards/job.yaml
In case the job already exists from an earlier run, delete it before:
kubectl --namespace monitoring delete job grafana-import-dashboards
To access grafana you can use port forward functionality
export POD_NAME=$(kubectl get pods --namespace monitoring -l "app=grafana,component=core" -o jsonpath="{.items[0].metadata.name}")
kubectl port-forward --namespace monitoring $POD_NAME 3000:3000
And you should be able to access grafana on http://localhost:3000/login
See grafana.net for some example dashboards and plugins.
-
Configure Prometheus data source for Grafana.
Grafana UI / Data Sources / Add data source
Name
:prometheus
Type
:Prometheus
Url
:http://prometheus:9090
Add
-
Import Prometheus Stats:
Grafana UI / Dashboards / Import
Grafana.net Dashboard
:https://grafana.net/dashboards/2
Load
Prometheus
:prometheus
Save & Open
-
Import Kubernetes cluster monitoring:
Grafana UI / Dashboards / Import
Grafana.net Dashboard
:https://grafana.net/dashboards/162
Load
Prometheus
:prometheus
Save & Open
Alertmanager configs and integration in this repository was heavily inspired by the implementation in kayrus/prometheus-kubernetes.