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 |
---|---|
| Le port tcp où le service peut être atteint localement par le serveur web. |
| 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. |
| Attribuez à ce paramètre l'une des valeurs suivantes: debug, info, warn, error. |
| 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. |
| 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 |
---|---|
| Sélectionnez l'un des niveaux suivants : debug, info, warn, error. |
| Le service web à partir duquel obtenir les données. |
| 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. |
| Ce paramètre est utilisé pour configurer un ou plusieurs viewers avec un nom, son url et 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.