Tool/server-surveillance-–-proxmox--und-raspberry-pi-monitoring-in-einer-instanz/

Server-Surveillance – Proxmox- und Raspberry-Pi-Monitoring in einer Instanz

Selbst gehostetes Monitoring-Dashboard für die Heimnetzwerk-Infrastruktur.

Mein Monitoring-Dashboard überwacht mein Heimserver-Setup mit Proxmox-Host und die im Netzwerk eingebundenne Raspberry Pi und bündelt die wichtigsten Zustandsdaten der lokalen Infrastruktur in einer eigenen Instanz auf einer Seite.

Was überwacht wird

Proxmox-Host

  • CPU: 20-Kern-Auslastung, Taktfrequenz je Kern, Temperaturen (via SSH)
  • RAM, Disk, Uptime
  • Intel RAPL: CPU-Paketleistung in Watt (live aus der CPU-Telemetrie, keine externe Leistungsmessung)

VMs und LXC-Container

  • CPU- und RAM-Auslastung aller laufenden Gäste
  • Benannte Anzeige: Algroveon-AI, Algroveon-Agent, Algroveon-News, Home Assistant, TrueNAS, Paperless-ngx …

GPU (RTX PRO 2000 Blackwell, PCIe-Passthrough in Algroveon-AI)

  • Temperatur, Auslastung, VRAM-Nutzung, Lüfterdrehzahl, Leistungsaufnahme
  • Prozess-Tracking: welche Prozesse (Ollama, ComfyUI etc.) gerade GPU-Ressourcen nutzen

Raspberry Pi 5

  • CPU, RAM, Disk, Temperatur
  • Über einen schlanken lokalen Agenten (FastAPI, ~60 Zeilen Python)

Services

  • HTTP-Health-Checks für alle relevanten Dienste: Ollama, Faster-Whisper, Piper TTS, ComfyUI, Algroveon-Agent, Algroveon-News und weitere
  • Status-Badges: online / degraded / offline

24-Stunden-Report

Aggregierte Tagesstatistiken direkt aus SQLite: Peak-Werte, Durchschnittswerte, Top-CPU-Consumer, GPU-Prozess-History. Stromkosten über 24 h, 30 Tage und seit dem letzten Server-Start. Berechnet aus RAPL-Telemetrie, nvidia-smi und Pi-Schätzformel, multipliziert mit dem konfigurierten Strompreis. Die Werte sind als praxisnahe Näherung zu verstehen, nicht als exakte elektrische Gesamtmessung des Systems.

Architektur

Browser (HTMX-Polling alle 10s)
         ↓
FastAPI (SSR via Jinja2 + HTMX-Partials)
         ↓
┌────────┼──────────┐
Proxmox  SSH      Pi-Agent
REST API (nvidia-  GET /metrics
(proxmox  smi,     (psutil)
 er)      sensors)
         ↓
SQLite (MetricsHistory · AlertLog · ServiceConfig)

Alle Seiteninhalte werden serverseitig gerendert, Updates kommen als HTMX-Fragmente zurück.

Collector und Alerting

Der Hintergrund-Collector läuft in einem zweiphasigen Modus:

  • Ruhemodus (alle 180 s) – Heartbeat bei normaler Last
  • Aktivmodus (alle 30 s) – wenn Trigger-Schwellen überschritten werden (z.B. GPU-Last > 25%)

Konfigurierbare Schwellenwerte für CPU, RAM, Disk, GPU-Temperatur, VRAM und Pi-Temperatur lösen Alerts aus, die in der Datenbank protokolliert und im Dashboard sichtbar werden.

Der Pi-Agent

Ein kleines eigenständiges FastAPI-Skript, das auf dem Raspberry Pi läuft und über GET /metrics seine aktuellen Werte liefert. Installation via systemd-Service. Keine Agenten-Infrastruktur, keine Daemons – nur psutil + eine Handvoll Zeilen Python.