Introduzione

Grafana è uno strumento di visualizzazione e monitoraggio dei dati open source che si integra con dati provenienti da fonti come Prometheus , InfluxDB , Graphite ed ElasticSearch. Grafana ti consente di creare avvisi, notifiche e filtri ad-hoc per i tuoi dati, facilitando al contempo la collaborazione con il tuo team grazie alle funzionalità di condivisione integrate.

In questo tutorial, installerai Grafana e lo proteggerai con un certificato SSL e un proxy inverso Nginx.

Se il vostro intento è installare Grafana su di un server in remoto continuate a leggere, altrimenti se volete installare Grafana sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Prerequisiti

Per seguire questo tutorial, avrai bisogno di:

Installare Grafana

In questo primo passo, installerai Grafana sul tuo server Ubuntu 18.04. È possibile installare Grafana scaricandolo direttamente dal suo sito Web ufficiale o tramite un repository APT . Poiché un repository APT semplifica l'installazione e la gestione degli aggiornamenti di Grafana, utilizzerai questo metodo in questo tutorial.

Sebbene Grafana sia disponibile nel repository ufficiale dei pacchetti Ubuntu 18.04 , la versione di Grafana potrebbe non essere l'ultima, quindi usa il repository ufficiale di Grafana.

Scarica la chiave GPG Grafana con wget. Verrà aggiunta la chiave all'elenco di chiavi attendibili dell'installazione APT, che consentirà di scaricare e verificare il pacchetto Grafana con firma GPG.

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

In questo comando, l'opzione -q disattiva il messaggio di aggiornamento dello stato per wget e -O mostra il file scaricato sul terminale.

Successivamente, aggiungi il repository Grafana alle tue fonti APT:

sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

Aggiorna la cache APT per aggiornare gli elenchi dei pacchetti:

sudo apt update

Quindi, assicurarsi che Grafana verrà installato dal repository Grafana:

apt-cache policy grafana

L'output del comando precedente indica la versione di Grafana che stai per installare e da dove recupererai il pacchetto. Verificare che il candidato all'installazione in cima all'elenco provenga dal repository ufficiale di Grafana all'indirizzo https://packages.grafana.com/oss/deb.

Installed: (none)
  Candidate: 6.3.5
  Version table:
     6.3.5 500
        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
...

Ora puoi procedere con l'installazione:

sudo apt install grafana

Una volta installato Grafana, utilizzare systemctl per avviare il server Grafana:

sudo systemctl start grafana-server

Successivamente, verifica che Grafana sia in esecuzione controllando lo stato del servizio:

sudo systemctl status grafana-server

Riceverai un output simile al seguente:

 grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-09-11 20:18:47 CEST; 18min ago
     Docs: http://docs.grafana.org
 Main PID: 7856 (grafana-server)
    Tasks: 9 (limit: 2299)
   CGroup: /system.slice/grafana-server.service
           └─7856 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --p
...

Questo output contiene informazioni sul processo di Grafana, inclusi lo stato, l'identificatore del processo principale (PID) e altro. active (running) mostra che il processo sta funzionando correttamente.

Infine, abilitare il servizio per avviare automaticamente Grafana all'avvio del server:

sudo systemctl enable grafana-server

Riceverai un messaggio di output simile al seguente:

Output of systemctl enable grafana-serverSynchronizing state of grafana-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.

Ciò conferma che systemd ha creato i collegamenti simbolici necessari all'avvio automatico di Grafana all'avvio del server / desktop.

Grafana è ora installato e pronto per l'uso.

Impostare il Reverse Proxy

L'uso di un certificato SSL garantirà la sicurezza dei tuoi dati crittografando la connessione da e verso Grafana. Ma, per utilizzare questa connessione, devi prima riconfigurare Nginx come proxy inverso per Grafana.

Apri il file di configurazione Nginx che hai creato quando hai impostato il blocco del server Nginx con Let's Encrypt nei prerequisiti . Puoi usare qualsiasi editor di testo, ma per questo tutorial useremo nano:

sudo nano /etc/nginx/sites-available/tuo_dominio.it

Individua il seguente blocco:

…
    location / {
        try_files $uri $uri/ =404;
    }
…

Poiché hai già configurato Nginx per comunicare su SSL e poiché tutto il traffico web al tuo server passa già attraverso Nginx, devi solo dire a Nginx di inoltrare tutte le richieste a Grafana, che viene eseguito sulla porta 3000 per impostazione predefinita.

Elimina la linea try_files  e sostituiscila con la seguente opzione proxy_pass.

…
    location / {
        proxy_pass http://localhost:3000;
    }
…

Questo mapperà il proxy sulla porta appropriata. Al termine, salva e chiudi il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.

Ora, prova le nuove impostazioni per assicurarti che tutto sia configurato correttamente:

sudo nginx -t

Dovresti ricevere il seguente output:

Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, attiva le modifiche ricaricando Nginx:

sudo systemctl reload nginx

È ora possibile accedere alla schermata di accesso predefinita di Grafana con il browser Web. Se non riesci a raggiungere Grafana, verifica che il firewall sia impostato per consentire il traffico sulla porta.

https://tuo_dominio.it

Con la connessione a Grafana crittografata, è ora possibile implementare misure di sicurezza aggiuntive, iniziando con la modifica delle credenziali amministrative predefinite di Grafana.

Aggiornamento delle credenziali

Poiché ogni installazione di Grafana utilizza le stesse credenziali amministrative per impostazione predefinita, è consigliabile modificare le informazioni di accesso il prima possibile.

Apri il tuo browser web e collegati al tuo dominio. Verrà visualizzata la schermata di accesso predefinita in cui vedrai il logo Grafana. Accedere inserendo admin in entrambi campi User e Password, quindi fare clic sul pulsante Log in.

Nella schermata successiva, ti verrà chiesto di rendere il tuo account più sicuro modificando la password predefinita.

Inserisci la password che desideri nei campi New password e Confirm new password.

Fare clic su Save per salvare le nuove informazioni o premere Skip per saltare questo passaggio. Se salti, ti verrà richiesto di cambiare la password al prossimo accesso.

Per aumentare la sicurezza della configurazione di Grafana, fare clic su Salva.

Disabilitare le registrazioni Grafana e l'accesso anonimo

Grafana offre opzioni che consentono ai visitatori di creare account utente per se stessi e visualizzare in anteprima dashboard senza registrarsi. Quando si utilizza Grafana online per lavorare con dati sensibili, l'accesso anonimo potrebbe essere un problema di sicurezza. Per risolvere questo problema, apportare alcune modifiche alla configurazione di Grafana.

Aprire il file di configurazione principale di Grafana per la modifica:

sudo nano /etc/grafana/grafana.ini

Individua il seguente parametro allow_sign_up sotto l'intestazione [users]:

…
[users]
# disable user signup / registration
;allow_sign_up = true
…

Se questa opzione è impostata su true verrà aggiunto un pulsante Sign Up alla schermata di accesso, consentendo agli utenti di registrarsi e accedere a Grafana.

Per disabilitare questa funzione, quindi per nascondere il tasto di iscrizione, impostare il parametro su false.

Cancella il commento di questa direttiva rimuovendo ";" all'inizio della riga e impostando l'opzione su false:

…
[users]
# disable user signup / registration
allow_sign_up = false
…

Successivamente individuare il seguente parametro enabled sotto l'intestazione [auth.anonymous]:

…
[auth.anonymous]
# enable anonymous access
;enabled = false
…

Il parametro enabled impostato con true consente agli utenti non registrati di accedere alle dashboard; impostando questa opzione su false limita l'accesso alla dashboard solo agli utenti registrati.

Annulla il commento di questa direttiva rimuovendo ";" all'inizio della riga e impostando l'opzione su false.

…
[auth.anonymous]
enabled = false
…

Questo mapperà il proxy sulla porta appropriata. Al termine, salva e chiudi il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.

Per attivare le modifiche, riavvia Grafana:

sudo systemctl restart grafana-server

Verifica che tutto funzioni controllando lo stato del servizio Grafana:

sudo systemctl status grafana-server

Come prima, l'output segnalerà che Grafana è active (running).

Collegati con il tuo Browser al tuo dominio. Per tornare alla schermata Sign Up, sposta il cursore sul tuo avatar nella parte inferiore sinistra dello schermo e fai clic sulla voce Sign out.

Dopo aver effettuato la disconnessione, verificare che non sia presente alcun pulsante Sign Up e che non sia possibile accedere senza inserire le credenziali di accesso.

A questo punto, Grafana è completamente configurata e pronta per l'uso.

Conclusione

In questo tutorial hai installato, configurato e protetto Grafana. Per ulteriori informazioni sull'utilizzo di Grafana, consultare la documentazione ufficiale di Grafana.