Infrastruktursichtbarkeit mit Prometheus und Grafana
Monitoring ist keine Dekoration: Prometheus und Grafana liefern echte Sichtbarkeit über Server, Container und Apps – ohne SaaS-Preis pro Host.

Infrastruktursichtbarkeit mit Prometheus und Grafana
„Der Server ist langsam." – „Seit wann?" – „Keine Ahnung." Ohne belastbare Metriken bleibt Debuggen Raten. Oder es gibt ein Tool, das niemand öffnet, weil die Dashboards nichts sagen.
Prometheus und Grafana: Open Source, breit eingesetzt, in einem Nachmittag grundlegend nutzbar.
Warum diese Kombination?
Prometheus: Daten sammeln
Prometheus ist eine Zeitreihen-Datenbank, die Metriken sammelt. Statt dass Ihre Systeme Daten an einen zentralen Server schicken (Push), fragt Prometheus aktiv bei Ihren Services an (Pull). Das klingt nach einem Detail, hat aber praktische Vorteile:
- Service Discovery: Prometheus findet neue Container oder Server automatisch.
- Zuverlässigkeit: Wenn ein Service nicht antwortet, ist das selbst eine wertvolle Information.
- Einfachheit: Jeder Service muss nur einen HTTP-Endpoint bereitstellen, der Metriken im Textformat liefert.
Grafana: Daten verstehen
Grafana macht aus Zeitreihen lesbare Dashboards. Nicht die Art von Dashboard, die beeindruckend aussieht und niemand versteht – sondern Ansichten, die in drei Sekunden die Frage beantworten: „Läuft alles normal?"
Was Sie monitoren sollten
Die vier goldenen Signale
Google hat in seinem SRE-Buch vier Metriken definiert, die für jeden Service relevant sind:
- Latenz – Wie lange dauern Anfragen? Nicht nur der Durchschnitt, sondern auch P95 und P99.
- Traffic – Wie viele Anfragen pro Sekunde verarbeitet der Service?
- Fehlerrate – Welcher Anteil der Anfragen schlägt fehl?
- Sättigung – Wie ausgelastet sind CPU, RAM und Disk?
Wenn Sie diese vier Metriken für jeden Service haben, erkennen Sie 90 % aller Probleme, bevor Ihre Kunden sie bemerken.
Server-Metriken mit Node Exporter
Der Node Exporter ist ein kleines Programm, das auf jedem Linux-Server läuft und Systemmetriken bereitstellt:
# docker-compose.yml
services:
node-exporter:
image: prom/node-exporter:latest
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev)($$|/)'
Damit sehen Sie CPU-Auslastung, RAM-Verbrauch, Disk-I/O, Netzwerk-Traffic und hunderte weitere Metriken – pro Server, über die Zeit.
Container-Metriken mit cAdvisor
Wenn Sie Docker oder Kubernetes nutzen, liefert cAdvisor Metriken pro Container: CPU, Memory, Netzwerk und Dateisystem-Nutzung. In Kombination mit Node Exporter sehen Sie sowohl die Host- als auch die Container-Ebene.
Anwendungs-Metriken
Das Wertvollste sind oft die Metriken aus Ihrer eigenen Anwendung. In Node.js mit der prom-client-Bibliothek:
const client = require('prom-client')
const httpDuration = new client.Histogram({
name: 'http_request_duration_seconds',
help: 'Duration of HTTP requests in seconds',
labelNames: ['method', 'route', 'status'],
buckets: [0.01, 0.05, 0.1, 0.5, 1, 5]
})
app.use((req, res, next) => {
const end = httpDuration.startTimer()
res.on('finish', () => {
end({ method: req.method, route: req.route?.path || req.path, status: res.statusCode })
})
next()
})
Damit sehen Sie in Grafana nicht nur, dass der Server läuft, sondern wie schnell Ihre API antwortet – aufgeschlüsselt nach Endpunkt und Status-Code.
Alerting: Probleme erkennen, bevor Kunden anrufen
Monitoring ohne Alerts ist ein Hobby. Prometheus hat ein eingebautes Alerting-System, das Regeln auswertet und Benachrichtigungen über den Alertmanager verschickt.
groups:
- name: critical
rules:
- alert: HighErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.05
for: 5m
labels:
severity: critical
annotations:
summary: "Fehlerrate über 5% auf {{ $labels.instance }}"
Diese Regel feuert, wenn mehr als 5 % aller HTTP-Anfragen mit einem 5xx-Status enden – und das länger als 5 Minuten anhält. Der Alertmanager kann das an Slack, E-Mail, PagerDuty oder einen Webhook weiterleiten.
Ein realistisches Setup
Für die meisten mittelständischen Projekte reicht folgendes Setup:
| Komponente | Zweck | Ressourcen | |-----------|-------|------------| | Prometheus | Metriken sammeln und speichern | 2 GB RAM, 50 GB Disk | | Grafana | Dashboards und Visualisierung | 512 MB RAM | | Node Exporter | Server-Metriken (pro Host) | minimal | | Alertmanager | Benachrichtigungen | 256 MB RAM |
Das Ganze läuft problemlos auf einem einzelnen Server mit Docker Compose. Für größere Setups gibt es Thanos oder Cortex als Skalierungsschicht über Prometheus.
Was das kostet – im Vergleich
Ein SaaS-Monitoring wie Datadog kostet ab ca. 15 € pro Host pro Monat – bei 10 Servern und Custom Metrics sind Sie schnell bei 300–500 € monatlich. Prometheus und Grafana laufen auf einem 10-€-VPS und monitoren beliebig viele Hosts.
Der Trade-off: Sie müssen es selbst betreiben. Aber wenn Sie sowieso DevOps-Kompetenz im Team haben (oder einkaufen), ist das ein klarer Gewinn.
Fazit
Sichtbarkeit ist kein Luxus für Konzerne. Prometheus und Grafana liefern Setup-Niveau, das mit Enterprise mithält – zu Kosten eines kleinen VPS, wenn Sie betreiben können. Basis-Setup: ein Nachmittag; Gewinn: Probleme sehen, bevor Kunden sie spüren.
Infrastruktur ohne klare Metriken? 30 Minuten, kostenlos – wie ein sinnvolles Setup bei Ihnen aussehen kann.