Guide du Dashboard Viewer de SKOOR

Introduction

Ce guide couvre l'installation de SKOOR Dashboard Viewer. Pour l'installation de SKOOR Engine ou Redhat, veuillez consulter le guide d'installation de SKOOR Engine. Pour plus d'informations sur l'architecture des composants du tableau de bord, veuillez consulter la page Composants dans la section architecture de ce guide.

Prérequis

Matériel

Système Dashboard Viewer

Le service Viewer Service s'exécute sur une petite machine. 2 Go de RAM et 2 cœurs de CPU suffisent.

Système Dashboard Provider

Habituellement, le service Dashboard Provider est installé sur la machine serveur de SKOOR Engine. Si cette machine a été dimensionnée avec une certaine marge de manœuvre, ce composant devrait fonctionner correctement sur le même système. De plus, dans la plupart des cas, un composant Dashboard est déjà installé et possède les mêmes prérequis.

Logiciel

Système Dashboard Viewer

Le Dashboard Viewer nécessite un serveur apache httpd ainsi que mod_ssl. Veuillez installer les RPM respectifs à partir des dépôts et démarrer le serveur :

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

Configurez httpd pour qu'il démarre au démarrage du système :

$ sudo systemctl enable httpd

Configurez firewalld :

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

Avant d'installer les composants de SKOOR, SELINUX doit être désactivé :

# vi /etc/selinux/config
SELINUX=permissive

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

Enfin, le Dashboard Viewer a besoin d'un Dashboard Provider qui l'alimente en données à partir du SKOOR Webservice.

Système de fournisseur de tableau de bord

Les composants SKOOR suivants doivent être installés sur le système où le fournisseur de tableaux de bord sera installé :

Bien entendu, une instance de SKOOR Engine doit également être disponible.

Installation du système

Système Dashboard Viewer

Installer à partir du dépôt RPM de SKOOR en utilisant yum:

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

Pour configurer le DashboardViewer, ouvrez le fichier /etc/opt/eranger/eranger-dashboard-viewer-service.json.

Exemple de configuration:

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


Paramètre

Description du service

port

Le port tcp où le service peut être atteint localement par le serveur web.

presharedKey

Cette clé doit être partagée entre le Dashboard Provider et le service Dashboard Viewer. Pour des raisons de sécurité, elle doit être remplacée par une valeur unique.

logLevel

Attribuez à ce paramètre l'une des valeurs suivantes: debug, info, warn, error.

defaultUsername

Les tableaux de bord peuvent être affichés avec ou sans connexion de l'utilisateur. Un utilisateur et un mot de passe doivent être définis pour le tableau de bord par défaut. Celui-ci doit être configuré avec un utilisateur en lecture seule de SKOOR Engine.

Veuillez noter que le même utilisateur par défaut doit être configuré dans tous les SKOOR Engine qui fournissent des données à ce viewer.

defaultPassword

Avec le nom d'utilisateur par défaut, ce mot de passe est utilisé pour authentifier l'utilisateur configuré avec le nom d'utilisateur par défaut.


Vérifiez l'état du Dashboard Viewer en demandant l'URL suivante à l'aide d'un navigateur :

https://<nom du serveur du viewer>/skoor-dashboard-viewer-service/status

Le résultat devrait ressembler à ce qui suit :

{"status":"ok"}


En supposant que le Dashboard Viewer soit accessible sous son propre FQDN dédié, par exemple hostname.domain.com, et qu'il ne serve que du contenu utilisant une connexion cryptée, configurez le serveur web pour une redirection automatique (HTTP → HTTPS) et une redirection vers la page principale du Dashboard Viewer, en ajoutant le fichier de configuration apache suivant (modifiez le ServerName en utilisant son FQDN et les paramètres décrivant le chemin d'accès aux fichiers du certificat SSL) :

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>

Le fichier peut être enregistré sous /etc/httpd/conf.d/eranger-dashboard-viewer.conf.

Les fichiers de configuration par défaut d'Apache ssl.conf et welcome.conf peuvent être désactivés en les renommant par exemple ssl.conf_ et welcome.conf_. Ne touchez pas aux fichiers de configuration apache eranger-dashboards.conf et eranger-dashboard-viewer-service.conf.

Pour que cette configuration fonctionne, le répertoire DocumentRoot doit exister. Créez-le, puis redémarrez le serveur web à l'aide des commandes suivantes :

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

Système Dashboard Provider

Installez les paquets nodejs et dashboard-viewer Provider :

$ sudo yum install eranger-dashboard-viewer-provider

Configurer le Dashboard Viewer Provider en modifiant le fichier /etc/opt/eranger/eranger-dashboard-viewer-provider.json. Voici une brève description des propriétés disponibles :

Paramètre

Description

logLevel

Sélectionnez l'un des niveaux suivants : debug, info, warn, error.

webserviceUrl

Le service web à partir duquel obtenir les données.

tenantId

Identifie les différents locataires si plusieurs d'entre eux alimentent le même viewer dasboard. La valeur préconfigurée est "default". La connexion au tenand "default" ne nécessite pas de préfixe tenandId. Il est possible de se connecter à d'autres locataires en ajoutant "<tenantname>/" avant le nom d'utilisateur.

viewerServices

Ce paramètre est utilisé pour configurer un ou plusieurs viewers avec un nom, son url et presharedKey.

  • Le paramètre presharedKey doit être identique sur tous les providers qui alimentent le même service de viewer.

  • Le paramètre url peut pointer directement vers le service du provider si le viewer est installé sur l'hôte local:

    "url": "http://localhost:8092"
  • Si le viewer est installé dans une DMZ, l'url doit pointer sur le port 443 qui est servi par apache httpd :

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

presharedKey

Cette clé doit être partagée entre le Dashboard Provider et le service Dashboard Viewer. Pour des raisons de sécurité, elle doit être remplacée par une valeur unique.

Exemple :

{
  "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"
    }
  }
}


Redémarrez le service Provider maintenant :

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

Mise à jour

Mettez à jour n'importe quel paquet SKOOR en utilisant yum update:

$ sudo yum update eranger-dashboards-*.rpm

smoke test

Ouvrez l'URL https://<nom du serveur viewer>/skoor-dashboard-viewer dans un navigateur web. Un tableau de bord visible par l'utilisateur par défaut configuré devrait s'afficher sans qu'il soit nécessaire de se connecter au préalable. Le cas échéant, il est possible de passer à un autre locataire en ajoutant le paramètre URL tenantId à l'URL :https://<nom du serveur viewer>/skoor-dashboard-viewer?tenantId=someTenant

Dans le menu utilisateur, le lien Connexion permet de se connecter avec un utilisateur différent, généralement un utilisateur qui permet d'afficher des informations privilégiées qui ne devraient pas être visibles pour l'utilisateur par défaut :

Cliquez sur Connexion et fournissez les informations d'identification, en faisant éventuellement précéder le nom de connexion d'un autre locataire :

Les tableaux de bord privés devraient maintenant être visibles.