SKOOR Dashboard Viewer

Introduction

Ce guide couvre l'installation du SKOOR Dashboard Viewer . Pour l’installation 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 visiter la page Composants dans la section Architecture de ce guide.

Conditions préalables

Matériel

Système Dashboard Viewer

Le service Viewer fonctionne sur une petite machine. 2 Go de RAM et 2 cœurs de processeur suffiront.

Système de fournisseur de tableau de bord

Habituellement, le service Dashboard Provider est installé sur la machine server SKOOR Engine . Si cette machine était dimensionnée avec une certaine marge, ce composant devrait fonctionner correctement sur le même système. De plus, dans la plupart des cas, un composant Dashboards est déjà installé et présente les mêmes conditions préalables.

Logiciel

Système Dashboard Viewer

Le Dashboard Viewer nécessite server Apache httpd avec mod_ssl. Veuillez installer les RPM respectifs des référentiels et démarrer le server :

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

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

$ sudo systemctl enable httpd

Configurez le pare-feu :

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

Avant d'installer les composants 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 fournisseur de tableau de bord qui l'alimente avec les données du SKOOR Webservice .

Système de fournisseur de tableau de bord

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

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

Installation

Système Dashboard Viewer

Installez depuis le référentiel SKOOR RPM en utilisant yum :

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

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

Exemple :

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


Paramètre

Description

port

Le port TCP où le service peut être atteint localement par le server Web

presharedKey

Cette clé doit être partagée entre le fournisseur de tableau de bord et le service Dashboard Viewer . Ceci est pour des raisons de sécurité et doit donc être remplacé par une valeur unique.

logLevel

Définissez ce paramètre sur l'une des valeurs suivantes : debug, info, warn, error

defaultUsername

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

Veuillez noter que le même utilisateur par défaut doit être configuré dans tous les moteurs SKOOR qui fournissent des données à cette 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 de Dashboard Viewer en demandant l'URL suivante à l'aide d'un navigateur :

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

Le résultat devrait ressembler à ceci :

{"status":"ok"}


En supposant que Dashboard Viewer soit accessible sous son propre FQDN dédié, par exemple hostname.domain.com , et ne doit diffuser du contenu qu'à l'aide d'une connexion cryptée, configurez le serveur Web pour la redirection automatique (HTTP → HTTPS) et la redirection vers la page principale Dashboard Viewer , en ajoutant le fichier de configuration Apache suivant (éditez le ServerName à l'aide de son FQDN et des 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 viewer .

Les fichiers de configuration Apache par défaut généralement préexistants , ssl.conf et Welcome.conf, peuvent être désactivés en les renommant, par exemple, ssl.conf_ et Welcome.conf_ . Laissez les fichiers de configuration Apache eranger-dashboards.conf et eranger-dashboard- viewer -service.conf intacts.

Pour que cette configuration fonctionne, le répertoire DocumentRoot doit exister. Créez-le, puis redémarrez le serveur Web en utilisant les commandes suivantes :

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

Système de fournisseur de tableau de bord

Installez le package nodejs et Dashboard- viewer -Provider :

$ sudo yum install eranger-dashboard-viewer-provider

Configurez le fournisseur Dashboard Viewer en modifiant le fichier viewer . 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 des données

tenantId

Identifie différents locataires si plusieurs alimentent le même viewer de tableau de bord. La valeur préconfigurée est « par défaut ». La connexion au tenand « par défaut » ne nécessite pas de préfixe tenandId. Les autres locataires peuvent être connectés en ajoutant « /" avant le nom d'utilisateur

viewerServices

Ce paramètre permet de configurer un ou plusieurs visualiseurs avec un nom, son url et presharedKey.

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

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

    "url": "http://localhost:8092"
  • Si la viewer est installée dans une DMZ , l'URL doit pointer vers 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 fournisseur de tableau de bord et le service Dashboard Viewer . Ceci est pour des raisons de sécurité et doit donc être remplacé 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 fournisseur maintenant :

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

Mise à jour

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

$ sudo yum update eranger-dashboards-*.rpm

Test de fumée

Ouvrez l'URL https://< nom server viewer >/skoor-dashboard- viewer dans un navigateur Web. Un tableau de bord visible par l'utilisateur par défaut configuré doit être affiché sans qu'il soit nécessaire de se connecter au préalable. Si disponible, on peut passer à un autre locataire en ajoutant le paramètre URL tenantId à l'URL : https://< viewer server name>/skoor-dashboard- viewer ?tenantId=someTenant

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

Cliquez sur Connexion et fournissez les informations d'identification, éventuellement avec un autre locataire avant le nom de connexion :

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