Prometheus
Prometheus ist ein Open-Source-System zur Überwachung und Alarmierung, das Metriken in einer Zeitreihen-Datenbank (TSDB) speichert.
1. Installations-Optionen
Es gibt drei Wege, Prometheus aufzusetzen:
- Binaries: Vorkompilierte Pakete für die meisten offiziellen Komponenten.
- Source: Manuelles Bauen mittels Makefile aus dem jeweiligen Repository.
- Docker: Offizielle Images sind auf Quay.io oder Docker Hub verfügbar.
2. Docker Deployment (Quick Start)
Der schnellste Weg, um Prometheus mit einer Beispielkonfiguration auf Port 9090 zu starten:
docker run -p 9090:9090 prom/prometheus
3. Datenpersistenz & Volumes
Da Container-Daten beim Neustart gelöscht werden, ist für Produktionseinsätze ein Named Volume für das Verzeichnis /prometheus erforderlich.
# 1. Volume erstellen
docker volume create prometheus-data
# 2. Prometheus mit persistentem Speicher starten
docker run \
-p 9090:9090 \
-v /pfad/zu/prometheus.yml:/etc/prometheus/prometheus.yml \
-v prometheus-data:/prometheus \
prom/prometheus
4. Konfiguration einbinden (prometheus.yml)
Um eigene Konfigurationen zu nutzen, gibt es zwei gängige Methoden:
Methode A: Bind-Mount (Host-Datei)
docker run \
-p 9090:9090 \
-v /pfad/zu/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
Methode B: Custom Image (Baking)
Ideal für statische Konfigurationen über verschiedene Umgebungen hinweg.
Dockerfile:
FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/
Bauen & Ausführen:
docker build -t my-prometheus .
docker run -p 9090:9090 my-prometheus
5. Wichtige Hinweise
- Kommandozeilenparameter: Zusätzliche Parameter beim
docker runüberschreiben die Standardwerte des Docker-Images und müssen manuell wieder hinzugefügt werden. - Konfigurations-Check: Nutze das Tool
promtool, um die Syntax deinerprometheus.ymlvor dem Start zu prüfen. - Sicherheit: Prometheus bietet standardmäßig keine Authentifizierung; für öffentliche Netze sollte ein Reverse Proxy vorgeschaltet werden.