Wenn deine Anwendungen in Kubernetes produktiv laufen, ist Monitoring unverzichtbar. Nur mit den richtigen Metriken kannst du frühzeitig auf Fehler reagieren, Engpässe erkennen und Systeme optimieren.

In diesem Artikel zeige ich dir, wie du mit Prometheus und Grafana ein leistungsfähiges Monitoring-Setup in Kubernetes aufbaust – Schritt für Schritt, auch für Einsteiger verständlich.


🔍 Warum Monitoring in Kubernetes so wichtig ist

Kubernetes ist dynamisch: Pods starten und beenden sich ständig, Ressourcen werden automatisch skaliert, Services ändern ihre IPs.

Ohne ein geeignetes Monitoring kannst du:

  • Fehlerquellen nicht erkennen
  • keine Performance-Engpässe analysieren
  • keine automatisierten Alerts einrichten
  • keine historischen Trends bewerten

➡️ Prometheus + Grafana ist der Open-Source-Standard für Kubernetes Monitoring.


📦 Was ist Prometheus?

Prometheus ist ein Time-Series-Datenbanksystem, das:

  • Metriken sammelt (via Pull)
  • Services in Kubernetes automatisch erkennt (Service Discovery)
  • Daten speichert & aggregiert
  • Alarme über Alertmanager versendet

➡️ Prometheus wird über einen Operator in Kubernetes integriert.


📊 Was ist Grafana?

Grafana ist ein Dashboarding-Tool, das:

  • Prometheus-Daten visuell aufbereitet
  • Dashboards mit Panels, Filtern und Zeitachsen bietet
  • Benachrichtigungen (E-Mail, Slack, Telegram) auslösen kann
  • Zugriffsrechte verwaltet (RBAC)

➡️ Grafana ist der perfekte Partner für Prometheus.


🚀 So installierst du Prometheus & Grafana in Kubernetes

🔧 Voraussetzungen

  • Laufender Kubernetes-Cluster (z. B. via K3s, minikube, AKS, GKE, EKS)
  • Helm installiert

1. Prometheus & Grafana installieren via Helm

bashKopierenBearbeitenhelm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

2. Prometheus stack deployen

bashKopierenBearbeitenhelm install k8s-monitor prometheus-community/kube-prometheus-stack

➡️ Dieser Stack beinhaltet:

  • Prometheus
  • Grafana
  • Node Exporter
  • Alertmanager
  • Kube-State-Metrics

🔑 Zugriff auf Grafana

  1. Finde den Grafana-Pod:
bashKopierenBearbeitenkubectl get pods -n default
  1. Starte Port-Forwarding:
bashKopierenBearbeitenkubectl port-forward svc/k8s-monitor-grafana 3000:80
  1. Öffne im Browser:
arduinoKopierenBearbeitenhttp://localhost:3000

Default-Login:

  • User: admin
  • Passwort: steht in:
bashKopierenBearbeitenkubectl get secret k8s-monitor-grafana -o jsonpath="{.data.admin-password}" | base64 -d

📈 Dashboards hinzufügen

Grafana bietet fertige Dashboards für Kubernetes:

  • Node Exporter Full (ID: 1860)
  • Kubernetes Cluster Monitoring (ID: 315)
  • Kube-Prometheus Overview (ID: 15757)

So importierst du eins:

  1. Klicke in Grafana auf „+ Dashboard“ > „Import“
  2. Trage die ID ein
  3. Wähle Prometheus als Datenquelle

🔔 Alerts mit Prometheus + Grafana

  • Nutze PromQL, um Bedingungen wie CPU-Auslastung zu überwachen:
promqlKopierenBearbeiten100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
  • Erstelle Regeln in alerting.rules.yaml
  • Konfiguriere den Alertmanager für E-Mail, Slack & Co.

Grafana 9+ unterstützt auch Unified Alerting direkt aus Panels.


🔐 Sicherheit & RBAC

  • Richte Read-Only-Zugänge für Dashboards ein
  • Schütze Prometheus & Grafana via Ingress, HTTPS & OAuth
  • Nutze Network Policies und Secrets für Authentifizierung

🧠 Fazit

Prometheus + Grafana ist die perfekte Lösung, um deinen Kubernetes-Cluster transparenter, stabiler und sicherer zu machen. Von Echtzeitmetriken über Alerts bis zu Langzeittrends – alles ist möglich, Open Source und cloud-kompatibel.


📚 Lies weiter auf howtonow.de: