Moderne IT-Infrastrukturen werden immer komplexer: Container, Microservices, Multi-Cloud-Umgebungen. Ohne professionelles Monitoring verlieren Sie schnell den Überblick. Die gute Nachricht: Mit Prometheus und Grafana steht ein leistungsstarker Open-Source-Stack zur Verfügung, der auch Enterprise-Anforderungen erfüllt - und das ohne Lizenzkosten.
Warum Prometheus und Grafana?
Der Prometheus-Grafana-Stack hat sich in den letzten Jahren zum De-facto-Standard für Cloud-Native-Monitoring entwickelt. Unternehmen wie SoundCloud, DigitalOcean und CERN setzen darauf. Die Gründe liegen auf der Hand: Flexibilität, Skalierbarkeit und eine aktive Community mit tausenden fertigen Integrationen.
Prometheus
- Time-Series-Datenbank für Metriken
- Pull-basierte Metrik-Erfassung
- Maechtige Abfragesprache (PromQL)
- Service Discovery für dynamische Umgebungen
- Integriertes Alerting mit Alertmanager
Grafana
- Visualisierung von Metriken in Dashboards
- Unterstützt 100+ Datenquellen
- Fertige Dashboard-Templates
- Alerting mit verschiedenen Kanälen
- Team-Kollaboration und Zugriffssteuerung
Die Stack-Architektur verstehen
Bevor Sie mit der Installation beginnen, sollten Sie die Architektur verstehen. Der typische Monitoring-Stack besteht aus mehreren Komponenten, die zusammenspielen:
Prometheus als Herzstück
Prometheus arbeitet nach dem Pull-Modell: Statt dass Systeme ihre Metriken aktiv senden, fragt Prometheus regelmäßig die konfigurierten Targets ab. Das hat Vorteile: Sie behalten die Kontrolle über die Erfassungsintervalle und erkennen sofort, wenn ein Target nicht erreichbar ist.
- Scrape-Intervall: Typisch 15-60 Sekunden, abhängig von den Anforderungen
- Retention: Lokale Speicherung für Wochen bis Monate möglich
- Service Discovery: Automatische Erkennung neuer Targets in Kubernetes, Consul, AWS EC2
Exporter: Die Metrik-Lieferanten
Exporter sind kleine Programme, die Metriken von Systemen sammeln und im Prometheus-Format bereitstellen. Für nahezu jede Technologie gibt es fertige Exporter:
Node Exporter
CPU, RAM, Disk, Netzwerk - alle wichtigen Metriken von Linux-Servern. Der Klassiker für Infrastruktur-Monitoring.
MySQL/PostgreSQL Exporter
Queries pro Sekunde, Slow Queries, Connections, Buffer-Nutzung - alles was Datenbank-Admins brauchen.
Blackbox Exporter
HTTP-Probes, DNS-Checks, TCP-Verbindungen - perfekt für Availability-Monitoring und SLA-Überwachung.
Windows Exporter
Das Pendant zum Node Exporter für Windows-Server. CPU, RAM, Disk, Services, IIS-Metriken und mehr.
Tipp: Auf der offiziellen Prometheus-Seite finden Sie eine vollständige Liste aller verfügbaren Exporter - von Apache bis ZFS.
Installation und Grundkonfiguration
Die Installation von Prometheus und Grafana ist unkompliziert. Für Produktionsumgebungen empfehlen wir Docker Compose oder Kubernetes, für Tests reichen die Binaries.
Docker Compose Setup
Der schnellste Weg zum lauffähigen Stack ist Docker Compose. Eine minimale Konfiguration benötigt nur wenige Zeilen:
# docker-compose.yml
version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=secure_password
Prometheus konfigurieren
Die zentrale Konfigurationsdatei prometheus.yml definiert, welche Targets gescraped werden:
# prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets:
- 'server1:9100'
- 'server2:9100'
Aussagekräftige Dashboards bauen
Grafana's Stärke liegt in der Visualisierung. Statt alles von Grund auf zu bauen, nutzen Sie die Community-Dashboards als Startpunkt und passen diese an Ihre Bedürfnisse an.
Die wichtigsten Dashboard-Elemente
- Single Stat: Eine Zahl groß im Fokus - CPU-Last, Uptime, Request-Rate
- Graph: Zeitreihen visualisieren - perfekt für Trends und Anomalie-Erkennung
- Gauge: Aktuelle Werte mit Schwellwerten - Disk-Nutzung, Speicher-Auslastung
- Table: Tabellarische Darstellung - Top-10-Prozesse, langsame Queries
- Heatmap: Verteilungen über Zeit - Response-Zeiten, Latenz-Histogramme
Praxis-Tipp: Das Dashboard Node Exporter Full (ID: 1860) ist ein hervorragender Startpunkt für Server-Monitoring. Importieren Sie es in Grafana und passen Sie es an Ihre Anforderungen an.
PromQL: Die Abfragesprache meistern
PromQL ist maechtig, aber die Lernkurve ist steil. Diese Beispiele helfen beim Einstieg:
- CPU-Auslastung:
100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) - RAM-Nutzung:
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 - Disk-Fuellstand:
(1 - node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100 - Request-Rate:
rate(http_requests_total[5m])
Professionelles Alerting einrichten
Monitoring ohne Alerting ist nur die halbe Miete. Der Alertmanager von Prometheus verarbeitet Alerts und routet sie an die richtigen Empfaenger - per E-Mail, Slack, PagerDuty oder Microsoft Teams.
Alert-Regeln definieren
Alerts werden in separaten YAML-Dateien definiert und von Prometheus ausgewertet:
# alert-rules.yml
groups:
- name: infrastructure
rules:
- alert: HighCpuUsage
expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
for: 5m
labels:
severity: warning
annotations:
summary: "Hohe CPU-Auslastung auf {{ $labels.instance }}"
- alert: DiskSpaceLow
expr: (1 - node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100 > 85
for: 10m
labels:
severity: critical
Best Practices für Alerting
Alert-Fatigue vermeiden
Weniger ist mehr. Nur Alerts für actionable Events - nicht für jede kleine Schwankung.
for-Klausel nutzen
Alerts erst nach anhaltendem Problem feuern. 5 Minuten sind oft ein guter Startwert.
Severity-Labels
Critical, Warning, Info - unterschiedliche Routing-Pfade für unterschiedliche Dringlichkeiten.
Best Practices für den Produktivbetrieb
Ein funktionierender Stack ist gut - ein zuverlässiger Stack ist besser. Diese Best Practices helfen im Produktivbetrieb:
- High Availability: Prometheus im HA-Modus mit zwei Instanzen betreiben - bei Ausfall übernimmt die zweite
- Remote Storage: Für Langzeit-Retention Thanos oder Cortex einsetzen - Prometheus speichert lokal nur Wochen
- Relabeling: Metriken vor dem Speichern bereinigen - spart Speicherplatz und verbessert Queries
- Recording Rules: Häufig genutzte Queries vorberechnen - reduziert Query-Last erheblich
- Monitoring des Monitorings: Prometheus selbst überwachen - Dead Man's Switch für Meta-Alerts
- Backup der Konfiguration: prometheus.yml und Alert-Rules in Git versionieren
Skalierung: Ab etwa 100.000 aktiven Metriken sollten Sie über Federation oder Thanos nachdenken. Ein einzelner Prometheus-Server kommt bei 500.000+ Metriken an seine Grenzen.
Integration in bestehende Infrastruktur
Der Prometheus-Grafana-Stack lässt sich nahtlos in bestehende Umgebungen integrieren:
Kubernetes
Mit kube-prometheus-stack (Helm Chart) in Minuten einsatzbereit. Service Discovery für Pods und Services automatisch.
Cloud-Provider
AWS CloudWatch, Azure Monitor, GCP Stackdriver - Metriken per Exporter in Prometheus integrieren.
Existing Tools
Grafana als Frontend für bestehende Datenquellen: InfluxDB, Elasticsearch, MySQL, PostgreSQL und viele mehr.
CI/CD-Pipelines
Deployment-Metriken, Build-Zeiten, Test-Coverage - alles in einem Dashboard zusammenführen.
Fazit: Observability als Grundlage
Der Prometheus-Grafana-Stack ist mehr als nur Monitoring - er ist die Grundlage für Observability. Sie sehen nicht nur, dass etwas nicht funktioniert, sondern verstehen auch warum. Mit den richtigen Metriken, Dashboards und Alerts reagieren Sie proaktiv statt reaktiv.
Der Einstieg ist einfacher als gedacht: Docker Compose aufsetzen, Node Exporter installieren, ein Community-Dashboard importieren - und schon haben Sie einen funktionierenden Monitoring-Stack. Von dort aus erweitern Sie schrittweise: mehr Exporter, eigene Dashboards, verfeinerte Alerts.
Für produktive Umgebungen empfehlen wir professionelle Unterstützung bei Setup und Betrieb. Denn der beste Monitoring-Stack nützt nichts, wenn er selbst unzuverlässig ist.
Monitoring-Stack implementieren lassen?
Wir unterstützen Sie beim Aufbau Ihrer Observability-Plattform - von der Konzeption bis zum 24/7-Betrieb. Profitieren Sie von unserer Erfahrung aus hunderten Monitoring-Projekten.