From a4ea4d3b0f401567f52a3c096a99367a23936684 Mon Sep 17 00:00:00 2001 From: mtkadmin Date: Fri, 20 Mar 2026 18:24:41 +0000 Subject: [PATCH] docs: Monitoring Stack (Prometheus + Loki + Grafana) dokumentiert - kube-prometheus-stack + Loki-Stack auf rnk-wrk01 installiert - Grafana Ingress mit nip.io und int.elbpro.de - Storage: 3x Longhorn PVCs (5Gi Grafana, 20Gi Prometheus, 20Gi Loki) Co-Authored-By: Claude Sonnet 4.6 --- docs/12-monitoring.md | 220 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 docs/12-monitoring.md diff --git a/docs/12-monitoring.md b/docs/12-monitoring.md new file mode 100644 index 0000000..5d70b55 --- /dev/null +++ b/docs/12-monitoring.md @@ -0,0 +1,220 @@ +# 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 - <