Markus Michalski FAQ

Watchdog

Selbst gehostetes Monitoring für Websites, Container und Server. 15 Check-Typen, Agenten für Remote-Server, E-Mail-Alarme bei Statuswechseln, SQLite statt eigener Datenbank.

English Version

Zur Hauptübersicht

Watchdog

License: PolyForm NC 1.0.0
PHP
Symfony
Docker

Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.

Watchdog ist eine selbst gehostete Monitoring-Anwendung für Websites, Container und Server. Sie läuft als Docker-Compose-Stack und speichert alles in einer SQLite-Datei, es ist kein Datenbank-Server nötig.

Das Monitoring arbeitet in zwei Modi: Dashboard-Checks führt der Watchdog-Server selbst aus, etwa HTTP, SSL, TCP oder DNS. Agenten-Checks laufen in einem kleinen Container auf der überwachten Maschine und melden ihre Ergebnisse zurück, etwa Festplatte, Prozesse oder Dateien.

Live-Demo: Teste Watchdog live unter demo.markus-michalski.net, ohne Installation und ohne Risiko.

Überblick

graph LR
    A["Admin im Browser"] --> B["app: Oberfläche und API"]
    C["scheduler"] -->|"jede Minute"| D["Warteschlange"]
    D --> E["worker"]
    E -->|"HTTP, SSL, TCP, DNS, Docker"| F["Überwachte Ziele"]
    G["agent auf dem Server"] -->|"Checks holen, Ergebnisse senden"| B
    E -->|"Statuswechsel"| H["E-Mail an Kontakte"]
    B --> I["SQLite"]

Dokumentation

Seite Inhalt
Installation Docker-Compose-Stack für lokal, Stage und Live, Update, Datensicherung, Deinstallation
Konfiguration Umgebungsvariablen, Clients, Kontakte, URLs und Check-Einstellungen
Bedienung und Befehle Dashboard, Run now, Verlauf, make- und Konsolen-Befehle
Check-Typen Alle 15 Check-Typen mit Feldern, Status und Meldungen
Benachrichtigungen Wann und wie Watchdog E-Mails versendet
Agenten Host- und Remote-Agenten einrichten
Eigene Checks schreiben Eigenen Check-Typ in PHP ergänzen
Sicherheit und Datenschutz Zugang, Tokens, Berechtigungen, gespeicherte Daten
Technische Details Architektur, Ablauf, Datenmodell, Agenten-API
Fehlerbehebung Symptome, Prüfung und Lösung

Funktionen

Funktion Details
Check-Typen 15 eingebaute Typen: HTTP, HTTP-Inhalt, SSL-Zertifikat, DNS, TCP-Port, Redis, Datenbank, Docker, Docker Exec, Festplatte, Load Average, Prozess, Log-Datei, Datei-Alter, Dateigröße
Agenten Agent-Container für Host- und Remote-Server, der Checks abholt und Ergebnisse sendet
Planung Intervall in Tagen, Stunden und Minuten oder einmal täglich zu einer Uhrzeit, Run now für sofortige Läufe
Alarme E-Mail an die Kontakte eines Clients bei Wechsel nach WARN oder FAIL und bei Wiederherstellung, keine wiederholten Mails
Verlauf Ergebnisse je Check mit Filtern, einstellbare Aufbewahrung in Tagen
Erweiterbar Eigene Check-Typen als PHP-Klasse
Ohne Datenbank-Server SQLite, Messenger-Warteschlange in derselben Datenbank

Anforderungen

Komponente Anforderung
Docker mit Compose-Plugin Alle Dienste laufen als Container
PHP und Symfony PHP 8.4 und Symfony 8.1, enthalten im Image
Mail-Server SMTP-Zugang für Alarm-E-Mails (lokal und auf Stage fängt Mailpit sie ab)
Reverse Proxy mit HTTPS Für Stage und Live, die App lauscht nur auf 127.0.0.1

Lizenz

Watchdog steht unter der PolyForm Noncommercial License 1.0.0. Der Quelltext ist einsehbar, die Nutzung ist für private und nicht-kommerzielle Zwecke frei. Das ist keine OSI-Open-Source-Lizenz. Kommerzielle Nutzung erfordert eine ausdrückliche Genehmigung des Maintainers.

Beiträge erfordern das Contributor License Agreement. Den Entwicklungs-Workflow beschreibt CONTRIBUTING.md.

Support

Fehler und Funktionswünsche: GitHub Issues. Sicherheitslücken meldest Du über die private Schwachstellenmeldung des Repositories, siehe Sicherheit und Datenschutz.