Files
watcher/README.md

4.0 KiB

Watcher - Server Monitoring Solution

Build Status .NET Version Docker Image Platform

Watcher ist eine umfassende Server- und Host-Monitoring-Lösung mit verteilter Architektur, die Echtzeit-Hardware-Metriken erfasst und über ein zentrales Web-Dashboard visualisiert.

📋 Überblick

Die Software besteht aus zwei Hauptkomponenten:

  • Host Agent: Sammelt Hardware-Metriken (CPU, GPU, RAM, Festplatte, Netzwerk) von den überwachten Servern
  • Zentrale Monitoring-Software: Web-basiertes Dashboard zur Visualisierung und Verwaltung der gesammelten Daten

Hauptfunktionen

  • Echtzeit-Hardware-Monitoring (CPU, GPU, RAM, Festplatte, Netzwerk)
  • Docker-Container-Überwachung mit Service Discovery
  • Web-basiertes Dashboard mit historischen Daten
  • Konfigurierbare Alarmschwellen
  • REST API mit Swagger-Dokumentation
  • Automatische Datenaufbewahrung (konfigurierbar)
  • Rootless Container-Betrieb für erhöhte Sicherheit

🚀 Installation & Start

Voraussetzungen

Schnellstart

  1. Repository klonen oder docker-compose.yaml herunterladen

    git clone https://git.triggermeelmo.com/Watcher/watcher.git
    cd watcher
    
  2. Umgebungsvariablen konfigurieren (optional)

    # .env Datei erstellen
    cp .env.example .env
    
    # Eigene UID/GID eintragen (für korrekte Dateiberechtigungen)
    echo "USER_UID=$(id -u)" >> .env
    echo "USER_GID=$(id -g)" >> .env
    
  3. Verzeichnisse mit korrekten Rechten erstellen

    mkdir -p data/db data/dumps data/logs
    chown -R $(id -u):$(id -g) data/
    
  4. Container starten

    docker compose up -d
    
  5. Dashboard aufrufen

    http://localhost:5000
    
  6. Standardanmeldung

    • Benutzername: admin
    • Passwort: changeme
    • ⚠️ Wichtig: Passwort nach dem ersten Login ändern!

Konfiguration

Wichtige Umgebungsvariablen

Variable Beschreibung Standard
USER_UID User-ID für Container (Dateiberechtigungen) 1000
USER_GID Gruppen-ID für Container 1000
IMAGE_VERSION Docker Image Version latest
METRIC_RETENTION_DAYS Datenspeicherdauer (Tage) 30
METRIC_CLEANUP_ENABLED Automatische Datenbereinigung true
FRONTEND_REFRESH_INTERVAL_SECONDS Dashboard Aktualisierungsrate 30

Vollständige Liste: siehe docker-compose.yaml

Volumes

  • ./data/db/app/persistence - SQLite-Datenbank
  • ./data/dumps/app/wwwroot/downloads/sqlite - Datenbank-Exports
  • ./data/logs/app/logs - Anwendungslogs

Sicherheit

Der Container läuft als non-root user mit konfigurierbarer UID/GID:

  • Standard: 1000:1000
  • Anpassbar über USER_UID und USER_GID in .env
  • Empfehlung: Eigene UID/GID verwenden für korrekte Dateiberechtigungen

📝 Lizenz

Dieses Projekt ist unter einer proprietären Lizenz lizenziert.


Entwickelt mit ❤️ unter Verwendung von .NET 8.0