Je mehr Applikationen und IT-Devices zum Einsatz gelangen, umso unübersichtlicher gestaltet es sich, die Umgebung im Blick zu behalten. In kleinen Infrastrukturen oder Testumgebungen liefert das freie Dashy flexible Dashboards. So ist die eigene Kommandozentrale für die Steuerung und Überwachung relevanter Applikationen und Services im Nu zu realisieren.
Einheitliche Interfaces für Anwendungen im lokalen Netzwerk gibt es viele. Zu den prominentesten Vertretern zählt sicherlich Webmin, dessen Stärken in der Administration von klassischen Unternehmensservern liegen. Doch für viele kleine Umgebungen ist dieses Tool zu komplex und zu mächtig. Administratoren, die ein leichtgewichtiges Dashboard-System suchen, um die Links und Einstiegspunkte zu verschiedenen Diensten komfortabel zu verwalten, finden in Dashy [1] eine interessante Alternative.
Die Software ist vollgepackt mit nützlichen Funktionen zum Erstellen von individuellen Dashboards. Dabei unterstützt sie auch die Integration von Statusprüfungen, das Verwenden von dynamischen Widgets und benutzerdefinierten Layouts. Zudem ist Dashy Open Source und die Entwickler versprechen Unterstützung auf GitHub.
Dashy einspielen
Um Dashy an den Start zu bringen, gibt es verschiedene Möglichkeiten. Der einfachste Weg ist sicherlich die Docker-basierte Installation. Die Recherche im Docker-Repository identifiziert das relevante Paket:
Einheitliche Interfaces für Anwendungen im lokalen Netzwerk gibt es viele. Zu den prominentesten Vertretern zählt sicherlich Webmin, dessen Stärken in der Administration von klassischen Unternehmensservern liegen. Doch für viele kleine Umgebungen ist dieses Tool zu komplex und zu mächtig. Administratoren, die ein leichtgewichtiges Dashboard-System suchen, um die Links und Einstiegspunkte zu verschiedenen Diensten komfortabel zu verwalten, finden in Dashy [1] eine interessante Alternative.
Die Software ist vollgepackt mit nützlichen Funktionen zum Erstellen von individuellen Dashboards. Dabei unterstützt sie auch die Integration von Statusprüfungen, das Verwenden von dynamischen Widgets und benutzerdefinierten Layouts. Zudem ist Dashy Open Source und die Entwickler versprechen Unterstützung auf GitHub.
Dashy einspielen
Um Dashy an den Start zu bringen, gibt es verschiedene Möglichkeiten. Der einfachste Weg ist sicherlich die Docker-basierte Installation. Die Recherche im Docker-Repository identifiziert das relevante Paket:
docker search dashy
Im Suchergebnis finden Sie den Eintrag "lissy93/dashy". Diesen Container laden Sie sich auf Ihr System herunter:
docker pull lissy93/dashy
Und schon lässt sich Dashy starten:
docker run -p 8080:80 lissy93/dashy
Die Umgebung führt verschiedene Tests durch und meldet sich anschließend mit einer Erfolgsmeldung. Der Zugriff auf die lokale Dashy-Installation erfolgt über die URL "http://localhost:8080".
Sie sind beim Deployment nicht auf Docker angewiesen, sondern können Dashy auch auf jedem Standard-Linux-System installieren. Dazu benötigen Sie neben Git noch Node.js und Yarn. Zur Inbetriebnahme führen Sie folgende Befehle aus:
git clone https://github.com/Lissy93/dashy.git && cd dashy
yarn
yarn build
start
Für die Gestaltung der Dashboards benötigen Sie Icons, die die verschiedenen Bereiche und Verknüpfungen repräsentieren. Dashy kommt mit einem Satz an Standard-Icons daher. Um aber auch für gängige Devices wie eine Fritzbox oder eine bestimmte Umgebung die passenden Symoble zu verwenden, sollten Sie das Icon-Set herunterladen:
Nachdem Sie Dashy in Betrieb genommen haben, passen Sie die Umgebung über die YAML-basierte Konfigurationsdatei "/public/conf.yml" an. Diese besitzt drei Stammattribute:
- "pageInfo": Hier hinterlegen Sie die Dashboard-Metadaten wie den Titel, die Beschreibung sowie die Navigationsleisten-Links und den Fußzeilentext.
- "appConfig": Dieser Abschnitt definiert die Dashboard-Einstellungen wie Themes, Authentifizierung, Sprache und Anpassungen.
- "sections": Ein Array von Abschnitten, von denen jeder wiederum ein Array von Elementen umfasst.
Die Entwickler stellen eine vollständige Liste [2] aller verfügbaren Konfigurationsoptionen bereit. Dies ist sehr hilfreich, um Dashy an Ihre Bedürfnisse anzupassen. Damit steuern Sie beispielsweise die Authentifizierung, verwenden benutzerdefinierte Themes oder aktivieren das Reporting.
Die gute Nachricht: Sie müssen diese Anpassungen nicht auf der Konsolenebene vornehmen, sondern öffnen mit einem Klick auf das Schraubenschlüssel-Icon die Konfigurationseinstellungen. Dort klicken Sie auf "Konfiguration bearbeiten" und nehmen im Konfigurationseditor die gewünschten Einstellungen vor. Um den Titel Ihrer Dashy-Installation und die Beschreibung zu modifizieren, öffnen Sie den Abschnitt "pageInfo" und bearbeiten die Optionen "title" und "description", indem Sie die zugehörigen Werte anklicken und anpassen.
Um die Basiskonfiguration zu erweitern, klicken Sie auf die jeweilige Abschnittsbezeichnung und führen den Befehl "Einfügen" aus. Für die ersten Schritte bietet es sich beispielsweise an, die Ausgabe von Hinweismeldungen beim Auftreten unerwarteter Fehler und Abstürze zu aktivieren. Dazu bedienen Sie sich der Option "enableErrorReporting", die standardmäßig ausgeschaltet ist. Im Konfigurationseditor fügen Sie einen Eintrag vom Typ "Auto" hinzu, weisen diesem die Optionsbezeichnung und den Wert "true" zu. Der Editor verfügt über eine integrierte Syntax-Prüfung, die Sie auf mögliche Tippfehler beziehungsweise Fehlkonfigurationen hinweist. Mit einem Klick auf "Änderung speichern" übernehmen Sie die Anpassungen. Einfache Änderungen wie etwa am Titel greifen unmittelbar, bei anderen ist ein Neustart der Umgebung mit yarn build notwendig.
Über die Startseite von Dashy sind weitere systemübergreifende Funktionen verfügbar. In der rechten oberen Ecke stehen Ihnen über das "Design"-Auswahlmenü verschiedene Gestaltungsvorlagen zur Verfügung. Mit dem Design-Konfigurator feilen Sie an Template-Details, außerdem sind Anpassungen des Layouts und der Item-Größe vorgesehen. All diese Arbeiten verlangen immer das Aktivieren des Open-Settings-Menü rechts oben.
Dashboards zusammenstellen
Bei der Erstkonfiguration präsentiert Ihnen Dashy bereits den Abschnitt "Getting started", der Ihnen einen ersten Eindruck von dem Konzept der Dashboard-Gestaltung vermittelt. Sie legen sogenannte Sektionen an und bündeln darin den Zugriff zu spezifischen Services und Informationen. In der Praxis sind beispielsweise die Abschnitte "Statusinformationen", "Produktivität", "Netzwerk" und so weiter denkbar. Andere Unterteilungen sind "Applikationen", "Externe Dienste" und "Devices". Weitere Optionen finden Sie im Dashy-Showcase [3].
Möchten Sie die bestehende Dashboard-Umgebung um einen eigenen Abschnitt erweitern, klicken Sie im Konfigurator-Bereich auf das Stiftsymbol. Dashy platziert nun einen Platzhalter für das Anlegen eines Abschnitts. Mit einem Klick auf den Platzhalter öffnen Sie die Abschnittseigenschaften – in der Dashy-Terminologie als Sektion bezeichnet. Im Dialog "Neue Sektion hinzufügen" bestimmen Sie wesentliche Eigenschaften wie die Bezeichnung, das Icon, die Standardsortierung sowie die Anzahl an Reihen und Spalten. Bei der Icon-Auswahl bedienen Sie sich der Dateibezeichnungen im Icons-Ordner. Mit "Speichern" sichern Sie die Gruppenkonfiguration und befüllen diese mit einem Klick auf das Pluszeichen mit ersten Verknüpfungen.
Das Procedere beim Anlegen einer Verknüpfung in einer Sektion gestaltet sich ähnlich. Folgen Sie dem Link "Add New Item" und spezifizieren Sie im "Edit Item"-Dialog die Eigenschaften wie Bezeichnung, Beschreibung und Icon. Im Eingabefeld "Service URL" bestimmen Sie die Ziel-URL, die IP-Adresse oder den Hostnamen, die mit dem Item-Eintrag verknüpft wird. Mit "Opening Method" definieren Sie, ob der Zugriff über einen neuen Browser-Tab oder ein neues Fenster erfolgt.
Im Bereich "More Fields" beziehen Sie weitere Informationen in die Konfiguration ein, beispielsweise den Status Check und die Item-ID. Systemen, auf die Sie besonders häufig zugreifen wollen, weisen Sie mit "Hot Key" eine numerische Taste zwischen 0 und 9 zu. Nach dem Speichern finden Sie die ersten Einträge in der oben angelegten Sektion.
Das Entfernen von Items und Abschnitten gestaltet sich ähnlich einfach: Im Bearbeitungsmodus klicken Sie auf das Schieberegler-Symbol einer Gruppe und führen den Befehl "Entfernen" aus. Solange Sie sich im Bearbeitungsmodus befinden, zeigt Ihnen Dashy dies in der Fußzeile an. Mit einem Klick auf "Lokal speichern" sichern Sie die Dashboard-Konfiguration und greifen anschließend auf die integrierten Systeme zu. In der Fußzeile finden Sie unter "Speicheroptionen der Konfiguration" weitere Sicherungsmöglichkeiten wie etwa eine Exportfunktion. Mit "Konfiguration exportieren" blendet Dashy den Quelltext ein, alternativ exportieren Sie die Konfigurationsdatei und importieren diese auf einem Drittsystem.
Dashy anpassen
Nachdem Sie erste Erfahrungen mit dem typischen Procedere beim Umgang mit der Dashy-basierten Dashboard-Gestaltung gesammelt haben, stehen Ihnen weitere individuelle Anpassungen der Umgebung offen. Im Bearbeitungsmodus erschließen Sie sich mit einem Klick auf "Applikationskonfiguration bearbeiten" weitere Konfigurationsoptionen. Dabei handelt es sich um die Einstellung des Abschnitts "app- Config", den Sie mithilfe des visuellen UI-Editors bearbeiten. Der Editor steht grundsätzlich für ein Maximum an Usability, allerdings leidet die Zuverlässigkeit. Alternativ arbeiten Sie direkt in der YAML-Konfigurationsdabei vor. Laut Angaben der Entwickler befindet sich eine REST-API in Arbeit, die Konfigurationsanpassungen über die Befehlszeile, Skripte und Drittanwendungen erlaubt.
In der Applikationskonfiguration legen Sie mit "Default Opening Method" die Standardmethode für das Öffnen der Item-Einstellungen fest – Standard ist an dieser Stelle ein neuer Browser-Tab. Durch das Aktivieren des Kontrollkästchens "Enable Status Checks" sorgen Sie dafür, dass sich der Online- beziehungsweise Offlinestatus jedes Diensts durch eine Statusinformation im Dashboard zeigt. Dies einzuschalten lohnt sich, da Sie dann auf einen Blick erkennen, ob alle relevanten Services verfügbar sind.
Neben der genutzten Sprache, die Dashy aus der verwendeten Browser-Konfiguration zieht, können Sie in Sachen Darstellung den Hintergrund mit "Background Image", das Layout und die Icon-Größe festlegen. Wenn Sie parallel mit verschiedenen Services arbeiten, sollten Sie die Option "Enable Multi-Tasking" aktivieren. Sie sorgt dafür, dass geöffnete Anwendungen im Hintergrund geöffnet bleiben. Das geht allerdings zu Lasten der Performance.
Anmeldung und Berechtigungen
Neben den primär visuellen Anpassungen verfügt Dashy über eine Anmeldeseite und eine Frontend-Authentifizierung. Um diese zu aktivieren, müssen Sie Benutzer im Abschnitt "auth" unter "app- Config" in der Konfigurationsdatei hinzufügen. Bei einer Neuinstallation ist dieser Zugriffsschutz nicht vorgesehen.
Im "auth"-Element legen Sie ein User-Array an, wobei Sie jedem Benutzer einen Namen, einen Hash-Wert und einen Benutzertyp ("admin" oder "normal") zuweisen. Bei dem Hash-Wert handelt es sich um ein SHA-256-Hash des Passworts. Ein Beispiel für eine solche Konfiguration:
appConfig:
auth:
users:
- user: <Holger>
hash: <Hash-Wert Passwort User Holger>
type: admin
- user: <Klaus>
hash: <Hash-Wert Passwort User Klaus>
type: normal
Den Hash-Wert generieren Sie am einfachsten mit einem Onlinetool wie dem SHA-Generator [4]. Nach dem Aktivieren der Authentifizierung werden die Benutzer zur Anmeldeseite weitergeleitet.
Dashy erlaubt einen Gastmodus, der allen Benutzern den Nur-Lese-Zugriff auf das gesicherte Dashboard ermöglicht, ohne dass sie sich anmelden müssen. Dafür setzen Sie die Option "appConfig.auth.enableGuestAccess" auf "true". Die Umgebung erlaubt zudem die Implementierung von granularen Zugriffsrechten, um spezifische Abschnitte oder Elemente nur für bestimmte Benutzer sichtbar beziehungsweise nutzbar zu machen. Dazu stehen Ihnen drei Optionen zur Auswahl:
- "hideForUsers": Definiert die Abschnitte und Elemente, die für alle Benutzer sichtbar sind, außer für die in dieser Liste aufgeführten.
- "showForUsers": Das Item ist für alle Benutzer ausgeblendet, außer für die gelisteten.
- "hideForGuests": Das Element ist für angemeldete Benutzer sichtbar, aber nicht für Gäste.
Benutzer, die nicht vom Typ "admin" sind, können grundsätzlich keine Änderungen auf das lokale Speichermedium schreiben. Im Abschnitt "appConfig" schränken Sie mit "preventWrite-ToDisk" und "preventLocalSave" weitere Berechtigungen ein. Um alle UI-Konfigurationsfunktionen, einschließlich "View Config", zu deaktivieren, setzen Sie die Option "disableConfiguration" auf "true". Alternativ deaktivieren Sie die UI-Config-Funktionen für alle Nicht-Admin-Benutzer, indem Sie "disableConfigurationForNonAdmin" auf "true" ändern.
Backup der Konfiguration
Eine weitere praktische Funktion trägt die Bezeichnung "Cloud Backup & Wiederherstellung", die Sie im Konfigurator finden. Damit sichern Sie die aktuelle Dashy-Konfiguration in einer Cloud und stellen sie bei Bedarf wieder her. Vor der Datenübertragung werden diese mit dem Skript "CloudBackup.js" unter Verwendung der AES-Methode von "crypto.js" verschlüsselt.
Die Handhabung ist ansonsten einfach: Sie weisen der Sicherung eine Bezeichnung zu, klicken auf "Backup aktualisieren" und Ihre Daten wandern in die Cloud Ihrer Wahl. Dabei wird eine ID generiert, die sie sicher verwahren sollten, um diese gegebenenfalls für "Backup wiederherstellen" zusammen mit Ihrem Passwort zum Einsatz zu bringen. Auf diesem Weg übertragen Sie eine Konfiguration zudem einfach auf ein Drittsystem.
Fazit
Dashy ist ein kleines, aber feines Werkzeug, das das Erstellen eigener Dashboards zum Kinderspiel macht. Gleichzeitig leidet die Flexibilität angesichts umfangreicher Anpassungsmöglichkeiten nicht – sei es über integrierte Werkzeuge oder über Anpassungen der Konfigurationsdatei.