Prometheus, das bei SoundCloud entwickelte Monitoring-System, führt ein Pull-basiertes Modell, eine flexible Abfragesprache (PromQL) und native Unterstützung für dynamische Umgebungen ein.
Monitoring für das Container-Zeitalter¶
Traditionelle Monitoring-Tools (Nagios, Zabbix) setzen statische Infrastruktur voraus — manuell konfigurierte Hosts mit permanenten IP-Adressen. In einer containerisierten Umgebung, in der Instanzen dynamisch erstellt und zerstört werden, funktioniert dieses Modell nicht mehr.
Prometheus wurde bei SoundCloud speziell für dynamische, Cloud-native Umgebungen entwickelt. Inspiriert von Googles internem Borgmon-System, bringt es Monitoring-Prinzipien großer Technologieunternehmen in Reichweite jedes Engineering-Teams.
Pull-Modell und Service Discovery¶
Prometheus scrapt aktiv Metriken von HTTP-Endpoints, die von Services bereitgestellt werden — das Gegenteil eines Push-Modells (StatsD, Graphite).
Vorteile des Pull-Modells:
- Einfacher — ein Service muss nur einen
/metrics-Endpoint bereitstellen - Fehlererkennung — wenn ein Scrape fehlschlägt, ist der Service down
- Service-Discovery-Integration — Consul, Kubernetes, DNS
# Prometheus: Monitoring für die Cloud-Native-Welt
scrape_configs:
- job_name: 'web-app'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
regex: web
action: keep
PromQL — Abfragesprache¶
PromQL ist eine der größten Stärken von Prometheus — eine flexible Abfragesprache für Metriken:
# Request rate per second over the last 5 minutes
rate(http_requests_total[5m])
# 99th percentile latency
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
# Error rate
rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m])
PromQL ermöglicht Ad-hoc-Analysen, Dashboard-Erstellung und die Definition von Alerting-Regeln.
Alerting und Grafana-Integration¶
Der Prometheus Alertmanager verwaltet Alerts — Deduplizierung, Gruppierung, Stummschaltung und Routing an Benachrichtigungskanäle (E-Mail, Slack, PagerDuty).
Für die Visualisierung ergänzt sich Prometheus perfekt mit Grafana — dem beliebtesten Open-Source-Dashboarding-Tool. Die Kombination aus Prometheus + Grafana + Alertmanager bildet einen vollständigen Monitoring-Stack.
Empfohlene Metriken zum Monitoring: RED (Rate, Errors, Duration) für Services, USE (Utilization, Saturation, Errors) für Infrastruktur.
Fazit: Der Standard für Cloud-Native Monitoring¶
Prometheus wird schnell zum Standard für Monitoring in Cloud-nativen Umgebungen. Es war das zweite Projekt, das nach Kubernetes in die CNCF aufgenommen wurde — das ist kein Zufall. Für jedes neue Projekt mit Containern empfehlen wir Prometheus als primäre Monitoring-Lösung.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns