Prometheus LogoGrafana Logo

Prometheus & Grafana mit Docker installieren

Prometheus und Grafana bilden zusammen einen vollständigen Monitoring-Stack für Ihren Server. Prometheus sammelt und speichert Metriken, Grafana visualisiert diese Daten in anpassbaren Dashboards.

Voraussetzungen:
✓ Ein Server mit einer aktuellen Linux-Distribution (z. B. Ubuntu 22.04)
Docker und Docker Compose sind auf dem Server installiert
✓ Ein Domainname, der auf die IP-Adresse Ihres Servers zeigt (empfohlen für den Zugriff auf Grafana)

Schritt 1: Verzeichnisstruktur und Konfiguration erstellen

Erstellen Sie ein Verzeichnis für Ihren Monitoring-Stack sowie ein Unterverzeichnis für die Prometheus-Konfiguration:

Verzeichnisse erstellen
mkdir monitoring-stack && cd monitoring-stack && mkdir prometheus_config

Erstellen Sie nun die Prometheus-Konfigurationsdatei:

Prometheus Konfigurationsdatei öffnen
nano prometheus_config/prometheus.yml

Fügen Sie folgende Basiskonfiguration ein. Sie weist Prometheus an, sich selbst sowie den Node Exporter zu überwachen, den wir im nächsten Schritt einrichten:

prometheus.yml
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'node-exporter' static_configs: - targets: ['node-exporter:9100']

Schritt 2: Docker Compose-Datei erstellen

Erstellen Sie im Stammverzeichnis des monitoring-stack-Ordners die Compose-Datei:

Docker Compose-Datei öffnen
nano docker-compose.yml

Fügen Sie folgenden Inhalt ein. Die Datei definiert drei Dienste: Prometheus für die Metrik-Erfassung, Grafana für die Visualisierung und den Node Exporter, der die Server-Metriken bereitstellt:

docker-compose.yml
version: '3.8' services: prometheus: image: prom/prometheus:latest container_name: prometheus restart: unless-stopped volumes: - ./prometheus_config:/etc/prometheus - ./prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' ports: - '9090:9090' grafana: image: grafana/grafana-oss:latest container_name: grafana restart: unless-stopped volumes: - ./grafana_data:/var/lib/grafana ports: - '3000:3000' node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: unless-stopped volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys' - '--path.rootfs=/rootfs' - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'

Schritt 3: Monitoring-Stack starten

Starten Sie alle drei Container mit einem einzigen Befehl:

Docker Compose starten
docker compose up -d

Docker lädt die Images herunter und startet Prometheus, Grafana und den Node Exporter im Hintergrund.

Schritt 4: Grafana mit Prometheus verbinden

Öffnen Sie Ihren Browser und navigieren Sie zu http://IHRE_SERVER_IP:3000. Melden Sie sich mit den Standard-Zugangsdaten an — Benutzername admin, Passwort admin. Sie werden direkt aufgefordert, ein neues Passwort zu vergeben.

1.Navigieren Sie im linken Menü zu Connections → Data Sources
2.Klicken Sie auf Add data source und wählen Sie Prometheus
3.Geben Sie als Prometheus-Server-URL http://prometheus:9090 ein
4.Klicken Sie auf Save & test — ein grünes Häkchen bestätigt die erfolgreiche Verbindung

Schritt 5: Dashboard importieren

Importieren Sie ein fertiges Dashboard, um die Server-Metriken sofort zu visualisieren:

1.Navigieren Sie im linken Menü zu Dashboards → New → Import
2.Geben Sie die Dashboard-ID 1860 ein — ein sehr beliebtes Dashboard für die Server-Überwachung
3.Klicken Sie auf Load und wählen Sie im nächsten Schritt Ihre Prometheus-Datenquelle aus
4.Klicken Sie auf Import — Sie sehen nun ein vollständiges Dashboard mit CPU-, RAM-, Festplatten- und Netzwerk-Auslastung Ihres Servers

Weiterführende Dokumentation

Für erweiterte Konfigurationen, eigene Dashboards und Alerting empfehlen wir die offizielle Dokumentation der jeweiligen Tools.