226bbe1bf7
Record live monitor.php cron config in HOSTING.md and close todo 05. Move optional */5 heartbeat task to todo/13. Co-authored-by: Cursor <cursoragent@cursor.com>
2.2 KiB
2.2 KiB
03 — Monitoring Pull (Phase 1)
Priorität: high
Status: erledigt (2026-06-12)
Abhängigkeiten: 01, 02, 05
Siehe auch: ../MONITORING.md
Ziel
monitor.php auf dem Webspace: externe HTTPS-/SSL-Checks, Retry, E-Mail-Alarm.
Checkliste
Implementierung
config/— lädt.env(oderconfig.phpaußerhalbhttpdocs) —bootstrap.php→private/server.envpublic/monitor.php— CLI/Cron-tauglich, kein Browser-Output nötig- URL-Liste aus MONITORING.md Mindestliste konfigurierbar (
config/targets.php) - Pro URL: HTTP-Status, Timeout ~10s, optional erwarteter Code (200, 301, 401)
- SSL-Ablauf: Warnung wenn < 14 Tage (
warnin JSON, kein Mail-Alarm) - Retry: bei Fehler 2 Min warten, zweiter Versuch — Alarm nur wenn beide scheitern
- Ergebnisse nach
data/last-checks.jsonschreiben (für Landing Page) —private/data/auf Webspace - Bei Alarm: E-Mail an
ALERT_EMAILvia SMTP - Review-Reminder (90 Tage,
last_reviewed_at+ Hash-Auto-Reset) — Plan-Ergänzung, inmonitor-lib.php - Optional: Telegram wenn
TELEGRAM_*gesetzt — bewusst Phase 2
Mindest-URLs (Start)
https://schwenk.onlinehttps://gitea.schwenk.onlinehttps://pics.schwenk.onlinehttps://medis.schwenk.onlinehttps://portainer.schwenk.online—expect[200, 401](liefert aktuell 200)- Eine
bsc-gp.de-Subdomain (z. B. score) —https://score.bsc-gp.de https://vfb.red
Sicherheit
data/nicht öffentlich (.htaccessoder außerhalb Document Root) —private/data/- Keine Secrets in
last-checks.json
Akzeptanzkriterien
- Manueller Aufruf / „Jetzt ausführen“ in Plesk läuft fehlerfrei
- Simulierter Down (falsche URL) löst Mail nach Retry aus
last-checks.jsonaktualisiert sich
Notizen
- Plesk-Cron:
httpdocs/monitor.php,*/10 * * * *, „Nur Fehler“ — erledigt (Todo 05, 2026-06-12) - Browser-Aufruf
https://0012.de/monitor.php→ leere Seite (HTTP 200) ist korrekt - SSL-
warnauf boka-Hosts nach LE short→long-lived-Wechsel: bekannt, kein Handlungsbedarf auf 0012.de
Geschätzter Aufwand
~1h (laut MONITORING.md Phase 1)