Zum Inhalt springen
>_<
AI EngineeringWiki

Grafana: Monitoring für Homelab

Tools · 7 min

Stand: März 2026Grafana 11.xPrometheus 2.x
Grafana Monitoring Stack
Grafana Monitoring Stack
📋 Auf einen Blick

Grafana + Prometheus bilden den Monitoring-Stack für dein Homelab. Prometheus sammelt Metriken, Grafana visualisiert sie. Mit Alertmanager bekommst du Benachrichtigungen bei Problemen. Open Source, self-hosted, 100+ Datenquellen.

Das Blindflug-Problem

Stell dir vor, du betreibst ein Homelab mit zehn, zwanzig oder dreissig Services. Alles scheint zu laufen. Dann sagt dir ein Kunde, dass deine Website seit sechs Stunden offline ist. Oder du merkst, dass deine Backup-Festplatte seit zwei Wochen voll ist. Oder ein Docker Container startet seit Stunden alle fünfzehn Minuten still und leise neu — und niemand hat es bemerkt.

Das passiert ohne Monitoring. Du fliegst blind. Monitoring ist der Unterschied zwischen "Probleme finden, bevor jemand betroffen ist" und "Probleme von genervten Nutzern erfahren".

Was gutes Monitoring leistet

Gutes Monitoring macht drei Dinge:

  • Aktuellen Zustand zeigen: Ist gerade alles gesund? Welche Services laufen? Wie viel Festplattenplatz ist noch frei? Du solltest diese Fragen in unter zehn Sekunden beantworten können.
  • Trends über die Zeit: Deine Festplatte war letzten Monat bei sechzig Prozent und ist jetzt bei achtzig. Bei diesem Tempo ist sie in sechs Wochen voll. Trends sagen dir, was kommt, bevor es soweit ist.
  • Bei Problemen warnen: Wenn ein Schwellenwert überschritten wird — Festplatte über neunzig Prozent, Service länger als zwei Minuten down — schickt dir das Monitoring eine Benachrichtigung. Du erfährst von Problemen in Sekunden, nicht in Stunden.

Grafana ist das Dashboard-Tool schlechthin, wenn es um Metriken geht. Egal ob Docker-Container, Server-Ressourcen oder deine eigenen Anwendungen — Grafana visualisiert alles, was du reingibst.

So nutzen wir es bei AI Engineering

Wir nutzen Grafana + Prometheus mit 6 Dashboards auf 6 Nodes die 31 Docker Services, GPU-Auslastung und LLM-Requests überwachen.

Warum Grafana?

  • Open Source — kostenlos
  • 100+ Datenquellen — Prometheus, InfluxDB, Elasticsearch
  • Flexible Dashboards — eigene Visualisierungen
  • Alerting — Benachrichtigungen bei Problemen
  • Self-hosted — alle Daten bleiben lokal
Grafana Monitoring Stack — Prometheus, Exporters, Alertmanager
Grafana Stack: Prometheus, Exporters und Alertmanager im Zusammenspiel
Diagramm wird geladen...

Komponenten

Prometheus

Time-Series-Datenbank. Fragt in regelmässigen Abständen Metriken von Exportern ab — braucht keine überall installierten Agenten. Abfragen mit PromQL, einer Sprache die für Metriken entwickelt wurde. "Durchschnittliche CPU der letzten Stunde" sind Einzeiler.

Grafana

Nimmt Prometheus-Daten und macht visuelle Dashboards daraus. Panels zeigen Graphen, Anzeigen, Tabellen und Stat-Displays. Dashboards kombinieren mehrere Panels zu einer Gesamtansicht, die eine vollständige Geschichte über ein System erzählt.

Exporters

Node Exporter (Linux-Systemmetriken), cAdvisor (Container-Metriken), NVIDIA Exporter (GPU). Die meisten beliebten Services — Traefik, Nginx, Pi-hole — haben eingebaute Prometheus-Endpoints oder Community-Exporter.

Alertmanager

Routing von Alerts. Slack, Email, PagerDuty. Wenn etwas schiefgeht, erfährst du es in Sekunden statt Stunden.

Was du damit überwachen kannst

System-Infrastruktur

CPU, Memory, Disk und Netzwerk für jede Linux-Maschine. Übersichts- und Detail-Dashboards.

Docker und Container

Container-Anzahl, Ressourcenverbrauch, Image-Grössen, Restart-Zähler, Netzwerk-Traffic.

Proxmox-Virtualisierung

VM-Status, Ressourcenzuweisung, Speichernutzung, Cluster-Gesundheit, HA-Status.

Netzwerk und Services

HTTP-Endpoints, Antwortzeiten, SSL-Zertifikat-Ablauf, DNS-Queries, Reverse-Proxy-Metriken.

Docker Monitoring

Hier ist unser docker-compose.yml für ein komplettes Monitoring-Stack:

# docker-compose.yml
services:
  prometheus:
    image: prom/prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"

  node-exporter:
    image: prom/node-exporter
    ports:
      - "9100:9100"

  cadvisor:
    image: gcr.io/cadvisor/cadvisor
    ports:
      - "8080:8080"

  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"
    volumes:
      - grafana_data:/var/lib/grafana

Nach dem Starten über docker compose up -d findest du:

  • Grafana: http://localhost:3000 (admin/admin)
  • Prometheus: http://localhost:9090
  • Node Exporter: http://localhost:9100
  • cAdvisor: http://localhost:8080

Prometheus Konfiguration

# 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']

  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']

Teste mit: curl http://localhost:9090/api/v1/query?query=up

Wichtige Metriken

MetrikBeschreibung
CPU UsageProzentuale Auslastung
Memory UsageRAM in GB oder Prozent
Disk UsageSpeicherplatz auf Festplatten
Network I/ODurchsatz in MB/s
Container StatusRunning/Stopped/Restarting

Alerting

So richtest du Alerts ein, die dich bei Problemen benachrichtigen:

# alerts.yml - Alert-Regeln
groups:
- name: container_alerts
  rules:
  - alert: HighMemoryUsage
    expr: (container_memory_usage_bytes / container_spec_memory_limit_bytes) * 100 > 90
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "Container {{ $labels.name }} nutzt über 90% RAM"

  - alert: ContainerDown
    expr: up{job="docker"} == 0
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "Container {{ $labels.instance }} ist down"

  - alert: HighCPUUsage
    expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
    for: 10m
    labels:
      severity: warning

Prometheus Query-Beispiele zum Testen:

# Alle laufenden Container
up{job="docker"}

# Memory Usage in Prozent
(container_memory_usage_bytes / container_spec_memory_limit_bytes) * 100

# CPU Usage
100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

Unsere Dashboards

Wir nutzen 22 vorkonfigurierte Dashboards:

  • Docker Swarm Overview
  • Node Resources (CPU, RAM, Disk)
  • Container Details
  • Network Traffic
  • GPU Utilization (für Ollama)
  • n8n Workflow Status
  • System Health Overview

GPU Monitoring für Ollama

Für GPU-Monitoring brauchst du den nvidia-exporter:

# docker-compose.yml erweitern
  nvidia-exporter:
    image: nvcr.io/nvidia/prometheus-nvidia-exporter:latest
    environment:
      - NVIDIA_ADDR=unix:///run/nvidia.sock
    volumes:
      - /var/run/nvidia.sock:/var/run/nvidia.sock
    ports:
      - "9101:9101"
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Wichtige GPU-Metriken in Prometheus:

# GPU Temperature
nvidia_gpu_temperature_celsius

# GPU Utilization
nvidia_gpu_utilization_percentage

# Memory Usage
nvidia_gpu_memory_used_bytes / nvidia_gpu_memory_total_bytes * 100

# Power Usage
nvidia_gpu_power_draw_watts
💡 Prometheus Config Reload

Nach Aenderungen an prometheus.yml musst du nicht den Container neu starten. Ein einfaches curl -X POST http://localhost:9090/-/reload genügt, damit Prometheus die neue Konfiguration laedt.

Fazit

Ohne Monitoring fliegst du blind. Grafana + Prometheus gibt dir Sichtbarkeit über deine gesamte Infrastruktur — bevor Benutzer Probleme melden.

Quellen

Weiterfuehrende Artikel: Docker Grundlagen · Self-Hosted Sicherheit · AI Stack Setup

Fuer die Umsetzung gibt es Ressourcen auf ai-engineering.at.

War dieser Artikel hilfreich?

Nächster Schritt: Workflows sauber in Betrieb bringen

Nutze bewährte n8n-Patterns, Templates und Integrationen für Workflows, die lokal, dokumentiert und auditierbar bleiben.

Warum AI Engineering
  • Lokal und self-hosted gedacht
  • Dokumentiert und auditierbar
  • Aus eigener Runtime entwickelt
  • Made in Austria
Kein Ersatz für Rechtsberatung.