Public Status Pages¶
Eine Status-Page ist die öffentlich zugängliche „Sind unsere Services oben?"-Seite — typisch unter status.kunde.de. Vesana kann pro Tenant eine oder mehrere generieren.
Konzept¶
flowchart LR
OS[Vesana-Daten] --> SP[Status-Page-Generator]
SP --> URL["status.kunde.de"]
URL --> KU[Endkunde / Mitarbeiter]
Die Status-Page ist read-only, Logik bleibt in Vesana — nur kuratierte Status werden gezeigt. Kein Login, kein internes Detail.
Status-Page anlegen¶
/admin/status-pages → Neu:
| Feld | Bedeutung |
|---|---|
| Name | „Acme Production Status" |
| Slug | URL-Pfad: /status/acme-prod |
| Tenant | Quell-Tenant |
| Branding | Logo, Farbe, Header-Text |
| Custom-Domain | optional, z. B. status.acme.com |
| Komponenten | welche Hosts/Services werden gezeigt |
| Anzeigegruppen | Hierarchie z. B. „Web", „API", „E-Mail" |
Komponenten-Auswahl¶
Pro Komponente:
| Feld | Bedeutung |
|---|---|
| Quell-Service | konkreter host_service |
| Anzeigename | „API Endpoint Europa" (Endkunden-tauglich) |
| Gruppe | „Web", „API" |
| Sichtbarer Status | OK + Hard-Cycles weiterleiten, andere maskieren |
Beispiel: ein interner CPU-Check soll nicht auf der Public-Page erscheinen — nur ein zusammengefasster „API erreichbar"-Status, der aus Ping + HTTP zusammengefasst wird.
Custom-Domain¶
- CNAME in DNS auf
<slug>.statuspages.vesana.org - In der Status-Page-Konfig die Custom-Domain eintragen
- Vesana beantragt Let's-Encrypt-Cert (wenn Verfügbar)
Bis zur Validierung läuft die Page unter dem Slug-Pfad.
Branding¶
| Feld | Bedeutung |
|---|---|
| Logo | PNG/SVG, max 200 KB |
| Primär-Farbe | Hex |
| Header-Text | optional Begrüßung |
| Custom-CSS | für Pro/Enterprise: eigene Styles |
Default-Branding ist neutral grau, ohne Vesana-Markierung — der Endkunde sieht nichts vom Anbieter.
Inhalt¶
Die Page zeigt:
- Aktueller Status pro Komponente (grün/gelb/rot)
- Vorfälle / Incidents der letzten 90 Tage als Liste
- Geplante Wartungen (aus Downtimes)
- Uptime-Statistik (90 d Verlauf als Pixel-Bar)
- RSS-Feed (
/status/<slug>/feed.xml) - E-Mail-Subscription für Incidents (optional)
Incidents manuell¶
Manche Vorfälle sind nicht automatisch erkennbar (Drittanbieter-Ausfall, Kommunikations-Update). Manuell:
Status-Page → Incidents → Neu mit Titel, Description (Markdown), aktuellem Status (investigating, identified, monitoring, resolved).
Updates am Incident können nachgeschoben werden — die Page zeigt eine Timeline.
Subscription¶
Endkunden können sich per E-Mail subscriben — bei neuem Incident geht eine Mail raus. Verwaltung über /status/<slug>/subscribe.
Daten landen im selben Tenant, also nicht aus dem internen Tenant separierbar.
RSS¶
https://status.acme.com/feed.xml für Maschinen-Konsum (z. B. eigenes internes Dashboard, das mehrere Statuspages aggregiert).
Privacy¶
Nichts auf der Status-Page enthält:
- Hostnamen interner Maschinen
- IP-Adressen
- Mess-Werte (nur OK/WARN/CRIT)
- Tenant-Namen anderer Kunden
Wenn eine Komponente versehentlich zu detailliert ist, lässt sich der Anzeigename pro Komponente überschreiben.
Permissions¶
| Permission | Wirkung |
|---|---|
status_page.view |
Status-Page sehen (intern) |
status_page.edit |
bearbeiten |
status_page.publish |
Custom-Domain hinzufügen / aktivieren |
Anschluss¶
- Custom Dashboards — internes Pendant zur Public-Page
- Downtimes — geplante Wartungen erscheinen automatisch