Guida al Dashboard Viewer SKOOR

Introduzione

Questa guida riguarda l'installazione di SKOOR Dashboard Viewer. Per l'installazione di SKOOR Engine o Redhat, consultare la guida all'installazione di SKOOR Engine. Per informazioni sull'architettura dei componenti di Dashboard, consultare la pagina Componenti nella sezione Architettura di questa guida.

Prerequisiti

Hardware

Sistema Dashboard Viewer

Il servizio Viewer Service viene eseguito su una macchina di piccole dimensioni. Sono sufficienti 2 GB di RAM e 2 core di CPU.

Sistema Dashboard Provider

Di solito, il servizio Dashboard Provider è installato sulla macchina server SKOOR Engine. Se questa macchina è stata dimensionata con un certo margine, questo componente dovrebbe funzionare OK sullo stesso sistema. Inoltre, nella maggior parte dei casi è già installato un componente Dashboards che ha gli stessi prerequisiti.

Software

Sistema Dashboard Viewer

Dashboard Viewer richiede il server apache httpd e mod_ssl. Installare i rispettivi RPM dai repository e avviare il server:

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

Configurare httpd in modo che si avvii durante l'avvio del sistema:

$ sudo systemctl enable httpd

Configurare firewalld:

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

Prima di installare i componenti di SKOOR, SELINUX deve essere disabilitato:

# vi /etc/selinux/config
SELINUX=permissive

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

Infine, il Dashboard Viewer ha bisogno di un Dashboard Provider che lo alimenti con i dati provenienti dallo SKOOR Webservice.

Sistema Dashboard Provider

I seguenti componenti di SKOOR devono essere installati sul sistema in cui verrà installato lo SKOOR Dashboard Provider:

Inoltre, è necessario che sia disponibile un'istanza di SKOOR Engine.

Installazione

Sistema Dashboard Viewer

Installare dal repository RPM di SKOOR usando yum:

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

Per configurare il DashboardViewer, aprire il file /etc/opt/eranger/eranger-dashboard-viewer-service.json.

Esempio:

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


Parametro

Descrizione

port

La porta tcp su cui il servizio può essere raggiunto localmente dal server web.

presharedKey

Questa chiave deve essere condivisa tra il Dashboard Provider e il servizio Dashboard Viewer. Per motivi di sicurezza, deve essere modificata con un valore univoco.

logLevel

Impostare questo parametro su uno dei seguenti valori: debug, info, warn, error.

defaultUsername

I dashboard possono essere visualizzati con o senza login utente. È necessario impostare un utente e una password per il cruscotto predefinito. Questo dovrebbe essere configurato con un utente di sola lettura di SKOOR Engine.

Si noti che lo stesso utente predefinito deve essere configurato in tutti gli SKOOR Engine che forniscono dati a questo viewer.

defaultPassword

Insieme a defaultUsername, questa password viene utilizzata per autenticare l'utente configurato con defaultUsername.


Controllare lo stato del Dashboard Viewer richiedendo il seguente URL con un browser:

https://<nome del server del Dashboard>/skoor-dashboard-viewer-service/status

L'output dovrebbe essere il seguente:

{"status":"ok"}


Supponendo che il Dashboard Viewer debba essere raggiungibile con il proprio FQDN dedicato, ad esempio hostname.domain.com, e che debba servire contenuti solo tramite una connessione crittografata, configurare il server web per il reindirizzamento automatico (HTTP → HTTPS) e il reindirizzamento alla pagina principale del Dashboard Viewer, aggiungendo il seguente file di configurazione apache (modificare il ServerName utilizzando il suo FQDN e i parametri che descrivono il percorso dei file del certificato 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>

Il file può essere salvato come /etc/httpd/conf.d/eranger-dashboard-viewer.conf.

I file di configurazione apache preesistenti ssl.conf e welcome.conf possono essere disabilitati rinominandoli, ad esempio, in ssl.conf_ e welcome.conf_. Lasciare inalterati i file di configurazione apache eranger-dashboards.conf e eranger-dashboard-viewer-service.conf.

Affinché questa configurazione funzioni, la cartella DocumentRoot deve esistere. Crearla, quindi riavviare il server web con i seguenti comandi:

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

Sistema del provider di cruscotti

Installare il pacchetto nodejs e dashboard-viewer-provider:

$ sudo yum install eranger-dashboard-viewer-provider

Configurare il Dashboard Viewer Provider modificando il file /etc/opt/eranger/eranger-dashboard-viewer-provider.json. Ecco una breve descrizione delle proprietà disponibili:

Parametro

Descrizione

logLevel

Selezionare uno dei seguenti livelli: debug, info, warn, error

webserviceUrl

Il servizio web dal quale ottenere i dati

tenantId

Identifica i diversi tenant se più di uno alimenta lo stesso visualizzatore dasboard. Il valore preconfigurato è "default". L'accesso al tenant "default" non richiede il prefisso tenandId. È possibile accedere ad altri tenand aggiungendo "<tenantname>/" prima del nome utente.

viewerServices

Questo parametro è usato per configurare uno o più viewer con un nome, un url e una presharedKey.

  • Il parametro presharedKey deve essere identico su tutti i provider che alimentano lo stesso servizio di viewer.

  • Il parametro url può puntare direttamente al servizio del provider se il viewer è installato sull'host locale:

    "url": "http://localhost:8092"
  • Se il viewer è installato in una DMZ, l'url deve puntare alla porta 443, servita da apache httpd:

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

presharedKey

Questa chiave deve essere condivisa tra il Dashboard Provider e il servizio Dashboard Viewer. Per motivi di sicurezza, deve essere modificata con un valore univoco.

Esempio :

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


Riavviare ora il servizio Provider:

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

Aggiornamento

Aggiornare qualsiasi pacchetto SKOOR utilizzando yum update:

$ sudo yum update eranger-dashboards-*.rpm

Smoke test

Aprire l'URL https://<nome server viewer>/skoor-dashboard-viewer in un browser web. Dovrebbe essere visualizzata una dashboard visibile all'utente predefinito configurato, senza che sia necessario effettuare il login. Se disponibile, è possibile passare a un altro tenant aggiungendo il parametro tenantId all'URL:https://<nome server viewer>/skoor-dashboard-viewer?tenantId=someTenant

Nel menu utente, il link Log In consente di accedere con un utente diverso, in genere uno che permette di visualizzare informazioni privilegiate che non dovrebbero essere visibili all'utente predefinito:

Fare clic su Accedi e fornire le credenziali, facoltativamente con un tenant diverso prima del nome di accesso:

I dashboard privati dovrebbero ora essere visibili.