31 lines
2.2 KiB
Markdown
31 lines
2.2 KiB
Markdown
![]() |
---
|
||
|
title: Kube-prometheus-stack
|
||
|
description: Kube-prometheus-stack contains Kubernetes manifests, Prometheus and Grafana, including preconfigured dashboards
|
||
|
---
|
||
|
|
||
|
## Kube-prometheus-stack Overview
|
||
|
|
||
|
Grafana is an open-source monitoring solution that enables viusalization of metrics and logs.
|
||
|
Prometheus is an open-source monitoring and alerting system which collects metrics from services and allows the metrics to be shown in Grafana.
|
||
|
|
||
|
### Implementation Details
|
||
|
|
||
|
The application ist started in edfbuilder/kind/stacks/core/kube-prometheus.yaml.
|
||
|
The application has the sync option spec.syncPolicy.syncOptions ServerSideApply=true. This is necessary, since kube-prometheus-stack exceeds the size limit for secrets and without this option a sync attempt will fail and throw an exception.
|
||
|
The Helm values file edfbuilder/kind/stacks/core/kube-prometheus/values.yaml contains configuration values:
|
||
|
grafana.additionalDataSources contains Loki as a Grafana Data Source.
|
||
|
grafana.ingress contains the Grafana ingress configuratione, like the host url (cnoe.localtest.me).
|
||
|
grafana.sidecar.dashboards contains necessary configurations so additional user defined dashboards are loaded when Grafana is started.
|
||
|
grafana.grafana.ini.server contains configuration details that are necessary, so the ingress points to the correct url.
|
||
|
|
||
|
### Start
|
||
|
Once Grafana is running it is accessible under https://cnoe.localtest.me/grafana.
|
||
|
Many preconfigured dashboards can be used by klicking the menu option Dashboards.
|
||
|
|
||
|
### Adding your own dashboards
|
||
|
The application edfbuilder/kind/stacks/core/kube-prometheus.yaml is used to import new Loki dashboards. Examples for imported dashboards can be found in the folder edfbuilder/kind/stacks/core/kube-prometheus/dashboards.
|
||
|
|
||
|
It is possible to add your own dashboards: Dashboards must be in JSON format. To add your own dashboard create a new ConfigMap in YAML format using onw of the examples as a blueprint. The new dashboard in JSON format has to be added as the value for data.k8s-dashboard-[...].json like in the examples. (It is important to use a unique name for data.k8s-dashboard-[...].json for each dashboard.)
|
||
|
|
||
|
Currently preconfigured dashboards include several dahboards for Loki and a dashboard to showcase Nginx-Ingress metrics.
|