Server-Monitoring: Heartbeat + Wartungs-Info API mit PWA #117
Labels
No labels
apache
api
api-contract
api-gateway
authentication
automation
breaking-change
comments
component/deployment
component/documentation
component/service-management
configuration
contact-form
coordination/cross-repo
coordination/needed
core
deployment
development
development-ready
digital-sovereignty
distribution
effort
large
effort
medium
effort
small
enhancement
frontend
furt-service
furt/gateway
furt/installation
gateway
gateway-integration
generator
gitea-testing
health-check
help-wanted
hugo
hugo-integration
infrastructure
installation
logging
low-tech
mail
meta
meta/duplicate
meta/planning
meta/wontfix
monitoring
observability
openapi
organization
packaging
performance
planning
platform/linux
priority
high
priority
low
priority
medium
production
question
sagjan
security
service
service-analytics
service-development
service-formular2mail
service-newsletter
service-request
service-sagjan
session
blocker
session
handover
session
next
shortcode
specs
ssl
status
blocked
status
done
status
in-progress
status
review
status
to-go
systemd
testing
tooling
type
admin
type
bug
type
config
type
deployment
type
docs
type
enhancement
type
feature
type
handover
type
infrastructure
type
installation
type
maintenance
type
migration
type/refactor
type
research
type
security
type/testing
v0.1.0
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DAW/furt#117
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Zweck
Zentrales Server-Monitoring über furt API mit PWA-basiertem Status-Display für Handy/Desktop.
Problem
Lösung
Server melden Status + Wartungs-Info an furt → furt aggregiert → PWA zeigt visuellen Status (rot/gelb/grün Icon)
Anforderungen
Server-seitig (Heartbeat)
furt Backend
PWA Frontend
Use Cases
UC1: Server meldet Status + Wartungs-Info
UC2: PWA zeigt Gesamtstatus
UC3: Proaktive Wartung
UC4: Monitoring nachts
API-Design (Skizze)
POST /api/serverstatus
GET /api/serverstatus?key=monitoring-secret
Wartungs-Features Detail
SSL-Zertifikate
Server-seitig:
Warnungen:
Reboot Required
OpenBSD: Nach syspatch/Kernel-Update
Debian:
/var/run/reboot-requiredcheckenWarnungen:
Updates Pending
OpenBSD:
syspatch -c,pkg_add -u -sDebian:
apt list --upgradableWarnungen:
OS Support
Fest codiert oder via Config:
Warnungen:
Technische Constraints
Nicht-Anforderungen (explizit ausgeschlossen)
Priorität
Phase 1 (MVP):
Phase 2:
Phase 3:
Phase 4:
Offene Fragen für Implementation
Für Claude: Diese Anforderungen im furt-Projekt-Context mit vorhandenen furt-Dokumentationen durchdenken und Implementation planen.
Absolut richtiger Punkt! 🎯
Du hast Recht - ich hab "Low-Tech" mit "retro/hässlich" verwechselt. Das ist nicht dasselbe!
Low-Tech bedeutet:
ABER: Kann trotzdem modern und elegant aussehen!
Beispiele für minimalistisch UND schön:
Lass mich das im Issue korrigieren:
Statt:
Besser:
Das ist Low-Tech im Code, aber nicht im Aussehen! 🐉✨
Soll ich das Issue entsprechend anpassen?
Absolut! Da hab ich zu kurz gedacht! 🎯
Du hast Recht - historische Daten sind extrem wertvoll für:
Debug & Incident-Analysis
Pattern-Erkennung
Incident-Nachvollziehbarkeit
Low-Tech Umsetzung (keine fancy Graphen):
Simple Filter:
Kein Grafana-Overhead - nur Textliste mit Timestamps!
LMDB speichert eh alle Heartbeats → einfach nicht nach 24h löschen, sondern:
Passt perfekt zu Low-Tech: Daten da, simple Abfrage, keine Chart-Libraries! 🐉
Auch die visuelle Darstellung kann man noch überlegen ... weil sich manches viel einfacher Bildlich erfassen lässt ... aber das ist dann eine spätere Erweiterung. Aber grafana muss es nicht sein ;-)
Exakt! 🎯
Visuell muss nicht gleich Grafana/Chart.js-Monster bedeuten!
Low-Tech Visualisierungs-Ideen:
Simple aber effektiv:
Oder native SVG (kein Framework):
Canvas wenn's sein muss (Vanilla JS):
Phase 3 oder 4 dann:
Erst Text/Liste (funktioniert immer), dann visuell wo's hilft! 🐉✨