observability
The observability building block provides monitoring (Prometheus, via kube-prometheus-stack), dashboards/alerting (Grafana), a Kubernetes web UI (Headlamp) — the latter two behind Keycloak SSO ([CT-005 OpenID Connect only ]) — and resource metrics for autoscaling (metrics-server).
| Application | Chart / Source | Namespace | Purpose |
|---|---|---|---|
|
|
|
Prometheus, Alertmanager, kube-state-metrics, node-exporter, the Prometheus Operator, and the |
|
|
|
Dashboards and alerting UI, reachable at |
|
|
|
Kubernetes web dashboard, reachable at |
|
|
|
Registers the |
|
raw manifests ( |
|
Namespace-scoped defaults and any raw manifests supporting the above releases (e.g. additional `ServiceMonitor`s). |
Grafana’s Helm values previously set ingress.ingressClassName: nginx / className: nginx (see [TR-004 Grafana ingress class inconsistency]); this has since been corrected to traefik, the cluster’s only supported ingress controller ([CT-006 Ingress Controller ]). The previous standalone prometheus chart had the same nginx ingress class issue; this was corrected to traefik as part of the migration to kube-prometheus-stack.
|
Migrating from the standalone prometheus chart to kube-prometheus-stack changes the release’s resource names (e.g. the Prometheus Service moves from prometheus-server to prometheus-kube-prometheus-prometheus) and the Prometheus/Alertmanager `StatefulSet`s are now created by the Prometheus Operator rather than directly by Helm. Existing Prometheus/Alertmanager PVC data is not automatically carried over by this change; verify retention requirements before cutting over a live cluster.
|
See Single Sign-On for how OIDC is wired for Grafana and Headlamp, and Observability Concept with Spring Boot, Prometheus, and JSON Logging for the overall monitoring concept.