# 12 — Monitoring Stack (Prometheus + Loki + Grafana) **Datum:** 2026-03-20 **Namespace:** monitoring **Node:** rnk-wrk01 (Hauptkomponenten via nodeSelector) --- ## Übersicht | Komponente | Aufgabe | |---|---| | **Prometheus** | Metriken scrapen, speichern, auswerten | | **Grafana** | Visualisierung von Metriken und Logs | | **Alertmanager** | Alerts auswerten und weiterleiten | | **Node Exporter** | System-Metriken von allen Nodes (CPU, RAM, Disk) | | **kube-state-metrics** | Kubernetes-Objekt-Status als Metriken | | **Loki** | Log-Aggregation (wie Prometheus, aber für Logs) | | **Promtail** | Log-Collector — läuft als DaemonSet auf allen Nodes | --- ## Installation ### Schritt 1: Helm Repos hinzufügen ```bash helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add grafana https://grafana.github.io/helm-charts helm repo update ``` ### Schritt 2: Namespace erstellen ```bash kubectl create namespace monitoring ``` ### Schritt 3: kube-prometheus-stack installieren ```bash helm upgrade --install kube-prometheus-stack prometheus-community/kube-prometheus-stack \ --namespace monitoring \ --set grafana.adminPassword=bmw520AUDI \ --set prometheus.prometheusSpec.nodeSelector."kubernetes\.io/hostname"=rnk-wrk01 \ --set grafana.nodeSelector."kubernetes\.io/hostname"=rnk-wrk01 \ --set alertmanager.alertmanagerSpec.nodeSelector."kubernetes\.io/hostname"=rnk-wrk01 \ --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.storageClassName=longhorn \ --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.accessModes[0]=ReadWriteOnce \ --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=20Gi \ --set grafana.persistence.enabled=true \ --set grafana.persistence.storageClassName=longhorn \ --set grafana.persistence.size=5Gi \ --wait --timeout=300s ``` ### Schritt 4: Loki + Promtail installieren ```bash helm upgrade --install loki grafana/loki-stack \ --namespace monitoring \ --set loki.persistence.enabled=true \ --set loki.persistence.storageClassName=longhorn \ --set loki.persistence.size=20Gi \ --set promtail.enabled=true \ --wait --timeout=300s ``` ### Schritt 5: Grafana Ingress erstellen ```bash kubectl apply -f - <