Custom Dashboards¶
Während das Haupt-Dashboard ein festes Layout hat, kannst du dir mit Custom Dashboards eigene Sichten zusammenstellen — gemischte Widgets, eigene Variablen, Versionierung, öffentliche Links.
Dashboard anlegen¶
/custom-dashboards → Neu:
| Feld | Bedeutung |
|---|---|
| Tenant | Pflichtfeld — jedes Dashboard gehört zu genau einem Tenant |
| Name | Anzeigename |
| Beschreibung | optional |
Pro Tenant wird beim ersten Aufruf automatisch ein Default-Dashboard „Overview" angelegt (vier Einzelwert-Kacheln: Hosts Total, OK, Warning, Critical). Es kann nicht gelöscht werden, aber wie jedes andere Dashboard umgebaut werden.
Widgets platzieren¶
Drag-and-Drop-Grid. Pro Widget:
- + Widget
- Widget-Typ wählen (siehe Widget-Referenz)
- Datenquelle und Optionen einstellen
- Widget-Größe per Resize-Handle
Variablen¶
Variablen sind Platzhalter wie $host, $tenant, mit denen mehrere Widgets gleichzeitig auf dieselbe Auswahl reagieren.
Variablen-Typen¶
| Typ | Werte |
|---|---|
query |
dynamisch aus der DB: Hosts, Checks, Tenants, Tags |
custom |
Liste manuell gepflegter Werte |
In Widgets verwenden¶
In den Widget-Optionen, wo eine ID-Liste erwartet wird (host_ids, service_ids, tenant_ids, …), die Variable einsetzen.
URL-Persistierung¶
Variable-Werte landen in URL-Params:
Damit ist ein Link „aktuelle Sicht teilen" einfach: Browser-URL kopieren.
Time-Range¶
Pro Dashboard ein globaler Time-Range (Default aus der Dashboard-Konfiguration, per URL-Param from/to überschreibbar): now-15m … now-30d oder ein fixer Zeitraum. Gilt für alle zeitbasierten Widgets.
Versionierung¶
Jede Config-Änderung legt automatisch eine neue Version an (dashboard_versions) — mit Autor und Zeitstempel. Es werden die letzten 50 Versionen aufbewahrt, ältere werden beim nächsten Speichern verworfen.
Im Dashboard-Header → Verlauf-Symbol: Liste der letzten Versionen, Wiederherstellen setzt die Config auf den gewählten Stand zurück — das erzeugt selbst wieder eine neue Version (kein Verlust, jederzeit rückgängig zu machen).
Startseite (Home-Dashboard)¶
Jeder User kann ein Custom Dashboard als eigene Startseite festlegen: im Dashboard-Header das Haus-Symbol. Danach führt der Login (bzw. der Klick auf „Vesana"/Logo) direkt dorthin, statt auf das Haupt-Dashboard.
- Gespeichert unter
user_preferences.home_dashboard_id(keine Fremdschlüssel-Bindung — falls das Dashboard später gelöscht wird, fällt die Startseite automatisch auf das Haupt-Dashboard zurück, kein Fehlerbild). - Über dasselbe Symbol wieder entfernbar.
- Ist rein pro User — beeinflusst niemanden sonst.
Sharing (öffentlicher Link)¶
Ein Dashboard ist normalerweise nur für angemeldete User des zugehörigen Tenants sichtbar. Zusätzlich lässt sich ein öffentlicher, tokenisierter Link erzeugen — schreibgeschützt, ohne Login:
Dashboard-Header → Teilen:
| Feld | Bedeutung |
|---|---|
| Gültigkeit | 1–3650 Tage (Default 30), oder ohne Ablauf |
| Passwort | optional — schützt den Link zusätzlich |
| Fixierte Variablen | bestimmte Variablen können auf einen festen Wert eingefroren werden, sodass der Besucher sie nicht ändern kann |
Der Link hat die Form /public/d/<token>. Bei Passwortschutz fragt die Seite einmalig das Passwort ab und merkt sich danach eine zeitlich begrenzte Sitzung im Browser. Layout und Widgets sind fix, Time-Range und (nicht fixierte) Variablen bleiben für den Besucher änderbar. Alle Datenabfragen der Public-Seite sind serverseitig auf den Tenant des Dashboards eingeschränkt — ein Besucher kann über die Public-API keine fremden Tenant-Daten abfragen.
Der Link ist über Teilen entfernen sofort widerrufbar (Token wird gelöscht, ein neuer Share erzeugt einen neuen Token).
Permission¶
| Permission | Wirkung |
|---|---|
dashboards.create |
neue Dashboards anlegen |
dashboards.edit |
bearbeiten, teilen, Versionen wiederherstellen |
dashboards.delete |
löschen (außer dem Default-Dashboard eines Tenants) |
Ansehen ist an keine eigene Permission gebunden — jeder angemeldete User sieht die Dashboards seines Tenant-Scopes.
Beispiel¶
Ein Dashboard „Datacenter Health":
┌─────────────────────────────────────────────────────────────┐
│ Variable: Tenant=$tenant, Host=$host, Time=now-24h │
├─────────────────────────────────────────────────────────────┤
│ [Status-Übersicht] [Aktuelle Probleme] [Host-Übersicht] │
├─────────────────────────────────────────────────────────────┤
│ [Top 10 Probleme nach Zeit (Balkendiagramm)] │
├─────────────────────────────────────────────────────────────┤
│ [CPU pro Host (Heatmap)] [Disk pro Host (Balkendiagramm)] │
├─────────────────────────────────────────────────────────────┤
│ [Kapazitätsprognosen] │
└─────────────────────────────────────────────────────────────┘
Anschluss¶
- Widget-Referenz — Detail aller Widget-Typen
- Haupt-Dashboard — die feste Standard-Übersicht
- TV-Mode — Custom Dashboard auf der Wand
- Public Status Pages — externer Sicht-Zwilling für Kunden