Das fehlende Signal ist das Signal
Übliches Monitoring beantwortet, ob der Server läuft. Über das nächtliche Backup, das seit drei Wochen nicht mehr durchläuft, sagt es nichts — das merkt man beim Wiederherstellen.
Pulse schaut von der anderen Seite. Jede Prüfung bekommt eine eigene URL. Der Job ruft sie nach einem erfolgreichen Durchlauf auf. Bleibt der Aufruf über den Zeitplan plus Karenzzeit aus, fällt die Prüfung und ein Alarm geht an Telegram oder einen Webhook.
Was drin ist
Zwei Arten Zeitplan
Eine einfache Periode (alle 24 Stunden) oder ein Cron-Ausdruck. Die Karenzzeit trennt einen langsamen Job von einem, der nie fertig wurde.
Start, Erfolg, Fehler
Das Signal /start misst die Dauer, /fail meldet einen Fehler ausdrücklich, ohne die Frist abzuwarten.
Job-Ausgabe im Verlauf
Das Log des Skripts reist im Request-Body und steht neben dem Ereignis — kein Login auf dem Server nötig.
Konsole statt Raster
Der Hauptbildschirm beantwortet, was gerade passiert ist: Ereignisse rechts, Prüfungen links als Filter.
Benachrichtigungen
Telegram und beliebige Webhooks. Ein Kanal ist in sich vollständig: Token und Adresse liegen zusammen, ohne globale Einstellungen.
Eine Binärdatei
Go und SQLite: keine externen Dienste, keine Queue, kein Scheduler. Eine Hintergrund-Goroutine prüft Fristen alle 30 Sekunden.