SKOOR Dashboard Viewer Anleitung

Einführung

Diese Anleitung behandelt die Installation des SKOOR Dashboard Viewers. Für die SKOOR Engine oder Redhat Installation konsultieren Sie bitte das SKOOR Engine Installationshandbuch. Informationen über die Architektur der Dashboard-Komponenten finden Sie auf der Seite Komponenten im Abschnitt Architektur dieses Handbuchs.

Voraussetzungen

Hardware

Dashboard Viewer System

Der Viewer Service läuft auf einem kleinen Rechner. 2 GB RAM und 2 CPU-Kerne sind ausreichend.

Dashboard-Provider-System

Normalerweise wird der Dashboard Provider Service auf dem SKOOR Engine Server installiert. Wenn dieser Rechner mit etwas Spielraum dimensioniert wurde, sollte diese Komponente OK auf demselben System laufen. Außerdem ist in den meisten Fällen bereits eine Dashboard-Komponente installiert, die die gleichen Voraussetzungen hat.

Software

Dashboard Viewer System

Der Dashboard Viewer benötigt einen apache httpd Server zusammen mit mod_ssl. Bitte installieren Sie die entsprechenden RPMs aus den Repositories und starten Sie den Server:

$ sudo yum install httpd mod_ssl
$ sudo /sbin/service httpd start

Konfigurieren Sie httpd so, dass er während des Systemstarts gestartet wird:

$ sudo systemctl enable httpd

Konfigurieren Sie firewalld:

$ sudo firewall-cmd --add-port=443/tcp --permanent
$ sudo firewall-cmd --reload

Vor der Installation der SKOOR-Komponenten muss SELINUX deaktiviert werden:

# vi /etc/selinux/config
SELINUX=permissive

# setenforce 0
#
# sestatus
...
Current mode:                 permissive
...

Schließlich benötigt der Dashboard Viewer einen Dashboard Provider, der ihn mit Daten vom SKOOR Webservice füttert.

Dashboard-Provider-System

Die folgenden SKOOR-Komponenten müssen auf dem System installiert werden, auf dem der Dashboard Provider installiert werden soll:

Außerdem muss natürlich eine Instanz der SKOOR Engine verfügbar sein.

Installation

Dashboard Viewer System

Installieren Sie vom SKOOR RPM Repository mit yum:

sudo yum install eranger-nodejs eranger-dashboard-viewer-service eranger-doc

Um den DashboardViewer zu konfigurieren, öffnen Sie die Datei /etc/opt/eranger/eranger-dashboard-viewer-service.json.

Beispiel:

{
  "port": 8092,
  "presharedKey": "1234567890",
  "logLevel": "debug",
  "defaultUsername": "dashboard-user",
  "defaultPassword": "dashboard-user"
}


Parameter

Beschreibung

port

Der tcp-Port, über den der Dienst lokal vom Webserver erreicht werden kann

presharedKey

Dieser Schlüssel muss zwischen dem Dashboard Provider und dem Dashboard Viewer Service geteilt werden. Dies geschieht aus Sicherheitsgründen und sollte daher auf einen eindeutigen Wert geändert werden.

logLevel

Setzen Sie diesen Parameter auf einen der folgenden Werte: debug, info, warn, error

defaultUsername

Dashboards können mit oder ohne Benutzeranmeldung angezeigt werden. Für das Standard-Dashboard müssen ein Benutzer und ein Passwort festgelegt werden. Dies sollte mit einem SKOOR Engine Nur-Lese-Benutzer konfiguriert werden.

Bitte beachten Sie, dass in allen SKOOR Engines, die diesem Viewer Daten zur Verfügung stellen, derselbe Standardbenutzer konfiguriert werden muss.

defaultPassword

Zusammen mit dem defaultUsername wird dieses Passwort verwendet, um den mit defaultUsername konfigurierten Benutzer zu authentifizieren.


Überprüfen Sie den Status des Dashboard Viewers, indem Sie die folgende URL mit einem Browser abrufen:

https://<viewer server name>/skoor-dashboard-viewer-service/status

Die Ausgabe sollte wie folgt aussehen:

{"status":"ok"}


Unter der Annahme, dass der Dashboard Viewer unter einem eigenen FQDN erreichbar sein soll, z. B. hostname.domain.com, und nur Inhalte über eine verschlüsselte Verbindung bereitstellen soll, konfigurieren Sie den Webserver für eine automatische Umleitung (HTTP → HTTPS) und eine Umleitung zur Hauptseite des Dashboard Viewers, indem Sie die folgende Apache-Konfigurationsdatei hinzufügen (bearbeiten Sie den Servernamen unter Verwendung des FQDN und die Parameter, die den Pfad zu den SSL-Zertifikatsdateien beschreiben):

ServerName hostname.domain.com
LoadModule ssl_module modules/mod_ssl.so
Listen 443

<VirtualHost *:80>
    # Rewrite http -> https
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot "/srv/eranger/html"
    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    LogLevel warn

    # Rewrite only / without anything else to /skoor-dashboard-viewer/
    RewriteEngine On
    RewriteRule ^/$ https://%{SERVER_NAME}/skoor-dashboard-viewer/ [R,L]

    # Valid HTTP protocol requests Only
    RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ .+\ HTTP/(0\.9|1\.0|1\.1) [NC]
    RewriteRule .* - [F,NS,L]

    # Safe request methods only
    RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|PROPFIND|OPTIONS)$ [NC]
    RewriteRule .* - [F,NS,L]

    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/pki/tls/certs/hostname.domain.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/hostname.domain.com.key
    SSLCertificateChainFile /etc/pki/tls/certs/intercerts.domain.com.crt
    
    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>

    SetEnvIf User-Agent ".*MSIE.*" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0

    CustomLog logs/ssl_request_log \
        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

Die Datei kann als /etc/httpd/conf.d/eranger-dashboard-viewer.conf gespeichert werden.

Die normalerweise bereits vorhandenen Standard-Apache-Konfigurationsdateien ssl.conf und welcome.conf können deaktiviert werden, indem sie z. B. in ssl.conf_ und welcome.conf_ umbenannt werden. Lassen Sie die Apache-Konfigurationsdateien eranger-dashboards.conf und eranger-dashboard-viewer-service.conf unangetastet.

Damit diese Konfiguration funktioniert, muss das Verzeichnis DocumentRoot existieren. Erstellen Sie es und starten Sie den Webserver mit den folgenden Befehlen neu:

$ sudo mkdir -p /srv/eranger/html
$ sudo systemctl restart httpd

Dashboard-Provider-System

Installieren Sie das Paket nodejs und dashboard-viewer-provider:

$ sudo yum install eranger-dashboard-viewer-provider

Konfigurieren Sie den Dashboard Viewer Provider, indem Sie die Datei /etc/opt/eranger/eranger-dashboard-viewer-provider.json modifizieren. Hier eine kurze Beschreibung der verfügbaren Eigenschaften:

Parameter

Beschreibung

logLevel

Wählen Sie eine der folgenden Stufen: debug, info, warn, error

webserviceUrl

Der Webdienst, von dem Daten abgerufen werden sollen

tenantId

Identifiziert verschiedene Tenants, wenn mehr als einer denselben Dasboard Viewer füttert. Der voreingestellte Wert ist "default". Für die Anmeldung beim "default"-Tenant ist kein tenandId-Präfix erforderlich. Bei anderen Tenants kann man sich anmelden, indem man "<Tenantname>/" vor dem Benutzernamen hinzufügt.

viewerServices

Dieser Parameter wird verwendet, um einen oder mehrere Viewer mit einem Namen, seiner URL und dem presharedKey zu konfigurieren.

  • Der presharedKey-Parameter muss bei allen Providern, die denselben Viewer Service speisen, identisch sein

  • Der url-Parameter kann direkt auf den Anbieterdienst verweisen, wenn der Viewer auf dem lokalen Host installiert ist:

    "url": "http://localhost:8092"
  • Wenn der Viewer in einer DMZ installiert ist, muss die URL auf Port 443 verweisen, der von Apache httpd bedient wird:

    "url": "https://<viewer server name or ip>/skoor-dashboard-viewer-service"

presharedKey

Dieser Schlüssel muss zwischen dem Dashboard Provider und dem Dashboard Viewer Service geteilt werden. Dies geschieht aus Sicherheitsgründen, daher sollte er auf einen eindeutigen Wert geändert werden.

Beispiel :

{
  "logLevel": "debug",
  "webserviceUrl": "http://localhost:8090",
  "authUrl": "http://localhost:8094",
  "tenantId": "default",
  "viewerServices": {
    "dashboard-viewer": {
      "url": "https://<viewer server name or ip>/skoor-dashboard-viewer-service",
      "presharedKey": "1234567890"
    }
  }
}


Starten Sie den Provider-Dienst jetzt neu:

sudo systemctl restart eranger-dashboard-viewer-provider.service

Update

Aktualisieren Sie jedes SKOOR-Paket mit yum update:

$ sudo yum update eranger-dashboards-*.rpm

Smoke Test

Öffnen Sie die URL https://<viewerserver name>/skoor-dashboard-viewer in einem Webbrowser. Ein Dashboard, das für den konfigurierten Standardbenutzer sichtbar ist, sollte angezeigt werden, ohne dass man sich vorher anmelden muss. Falls verfügbar, kann man zu einem anderen Mandanten wechseln, indem man den URL-Parameter tenantId zur URL hinzufügt: https://<viewerserver name>/skoor-dashboard-viewer?tenantId=someTenant

Im Benutzermenü ermöglicht der Link Anmelden die Anmeldung mit einem anderen Benutzer, in der Regel mit einem, der privilegierte Informationen anzeigen kann, die für den Standardbenutzer nicht sichtbar sein sollten:

Klicken Sie auf Anmelden und geben Sie die Anmeldedaten ein, optional mit einem anderen Mandanten vor dem Anmeldenamen:

Private Dashboards sollten nun sichtbar sein.