Prometheus
Technologie

Prometheus

Metrikbasiertes Monitoring und Alerting

Prometheus ist ein Open-Source-Monitoring-System, das auf einer Zeitreihendatenbank und einem Pull-basierten Metrikmodell aufbaut. Es holt in regelmäßigen Abständen Metriken von konfigurierten Targets ab, speichert sie und lässt dich sie mit seiner eigenen Abfragesprache PromQL abfragen und alarmieren.

So funktioniert es

Prometheus fragt periodisch HTTP-Endpunkte ab, die Metriken in seinem textbasierten Exposition-Format bereitstellen – die meisten Anwendungen und Infrastrukturkomponenten tun das nativ oder über einen Exporter. Abgeholte Samples werden in einer lokalen Zeitreihendatenbank gespeichert. PromQL fragt diese Daten für Dashboards (häufig in Grafana dargestellt) und für Alerting-Regeln ab, die Prometheus fortlaufend auswertet und beim Auslösen an den Alertmanager weiterleitet.

Kernkonzepte

  • Metrik — eine benannte, mit Zeitstempel versehene numerische Messung, optional mit Schlüssel-Wert-Labels für Dimensionalität (z. B. http_requests_total{method="GET", status="200"}).
  • Target — ein Endpunkt, den Prometheus nach Metriken abfragt, statisch oder per Service Discovery entdeckt (einschließlich nativer Kubernetes-Service-Discovery).
  • PromQL — Prometheus’ Abfragesprache zum Auswählen, Aggregieren und Berechnen über Zeitreihendaten.
  • Alertmanager — eine separate Komponente, die von Prometheus’ Alerting-Regeln ausgelöste Alerts dedupliziert, gruppiert und an E-Mail, Slack, PagerDuty und andere Empfänger routet.

Warum Teams Prometheus einsetzen

  • Kubernetes-native Service Discovery. Es kann Pods, Services und Endpoints, die abgefragt werden sollen, automatisch entdecken, während sich dein Cluster ändert.
  • Eine mächtige Abfragesprache. PromQL unterstützt reichhaltige Aggregation, Ratenberechnungen und Joins über Metriken hinweg.
  • Dimensionale Metriken. Labels lassen dich eine einzelne Metrik nach jeder instrumentierten Dimension aufschneiden, ohne jede Kombination vorab zu definieren.
  • Der De-facto-Standard. Die meiste Kubernetes-native Software – Ingress-Controller, Service Meshes, die Komponenten von Kubernetes selbst – stellt standardmäßig Metriken im Prometheus-Format bereit.

Erste Schritte

Installiere Prometheus in deinen Cluster (häufig über das Helm-Chart kube-prometheus-stack, das Grafana und Alertmanager bündelt), konfiguriere es so, dass es die Targets entdeckt, die abgefragt werden sollen, und schreibe deine ersten Alerting-Regeln. Die folgenden Anleitungen behandeln gängige Scrape- und Alerting-Konfigurationen.