Progetto

Generale

Profilo

Grafana » Cronologia » Versione 4

Simone Piccardi, 26-06-2018 14:21

1 1 Simone Piccardi
h1. Installare e configurare Grafana
2
3 2 Simone Piccardi
Grafana (https://grafana.com/) è una piattaforma molto avanzata per l'analsi e la visualizzazione di dati, quelle che seguono sono le istruzioni per installarla su una Debian (da jessie in poi). Si utilizzeranno i pacchetti forniti direttamente dal progetto, che mette a disposizione un repository specifico per Debian, continuamente aggiornato. Per installare il pacchetto occorre prima aggiungere la sorgente fornita dal progetto (ad esempio in @/etc/apt/sources.list.d/grafana.list@) con contenuto:
4 1 Simone Piccardi
5
<pre>
6 2 Simone Piccardi
deb https://packagecloud.io/grafana/stable/debian/ stretch main
7 1 Simone Piccardi
</pre>
8
9 2 Simone Piccardi
(si indichi la propria versione di Debian al posto di @stretch@); si dovrà inoltre caricare la chiave GPG che firma il repository (per evitare gli avvisi di APT) con:
10 1 Simone Piccardi
11
<pre>
12 4 Simone Piccardi
curl https://packagecloud.io/gpg.key | apt-key add -
13 2 Simone Piccardi
</pre>
14
15
inoltre perché il download abbia successo (i pacchetti sono forniti sotto https) è necessario che sia installato il pacchetto @apt-transport-https@. 
16
17
Una volta completati i precedenti preliminari lo si potrà installare eseguendo:
18
19
<pre>
20
apt-get update
21 1 Simone Piccardi
apt-get install grafana
22
</pre>
23
24 2 Simone Piccardi
Il programma viene soltanto installato, non viene avviato ne inserito nella sequenza di avvio. Inoltre Grafana creerà le sue credenziali di accesso (il default è admin/admin) al primo avvio, che deve essere eseguito esplicitamente, pertanto per poterlo utilizzare è necessario eseguire:
25 1 Simone Piccardi
26
<pre>
27
systemctl daemon-reload
28
systemctl enable grafana-server
29
</pre>
30
31 2 Simone Piccardi
e per per avviarlo: 
32 1 Simone Piccardi
33
<pre>
34
systemctl start grafana-server
35
</pre>
36
37 2 Simone Piccardi
Se si vogliono cambiare le credenziali prima di avviarlo, occorre modificare il file di configurazione @/etc/grafana/grafana.ini@ cambiando le righe:
38 1 Simone Piccardi
39
<pre>
40
# default admin user, created on startup
41
;admin_user = admin
42
43
# default admin password, can be changed before first start of grafana, or in profile settings 
44
;admin_password = admin
45
</pre>
46
47 3 Simone Piccardi
ma in generale non è necessario farlo, in quanto al primo collegamento viene comunque richiesto il cambiamento della password di default.
48
49 4 Simone Piccardi
In questa maniera si potrà raggiungere il servizio collegandosi alla porta 3000, ma in genere conviene predisporre un reverse proxy e fare ascoltare Grafana solo su localhost (il default è sull'indirizzo generico) per redirigere sullo stesso le connessioni usando un indirizzo pubblico gestito da un server web con gli opportuni virtual host. Per far questo occorre impostare: 
50 1 Simone Piccardi
51
<pre>
52
# The ip address to bind to, empty will bind to all interfaces
53
http_addr = 127.0.0.1
54
</pre>
55
56 4 Simone Piccardi
inoltre per avere un indirizzo web corretto inviato verso l'esterno si dovrà impostare la URL con cui si accede al servizio con:
57 1 Simone Piccardi
58
<pre>
59
# The full public facing url you use in browser, used for redirects and emails
60
# If you use reverse proxy and sub path specify full url (with sub path)
61
;root_url = http://localhost:3000
62
root_url = https://grafana.miosito.it
63
</pre>
64
65 4 Simone Piccardi
Occorre poi configurare il reverse proxy; ad esempio con Nginx si può creare un virtual host sotto @/etc/nginx/sites-available/grafana@ con una configurazione del tipo:
66 1 Simone Piccardi
67
<pre>
68
upstream grafana {
69
        server 127.0.0.1:3000;
70
}
71
server {
72
   listen 443 ssl;
73
   server_name grafana.miosito.it;
74
   root /var/www/html;
75
   ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
76
   ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
77
   location / {
78
      proxy_pass http://grafana;
79
      client_max_body_size 20m;
80
      proxy_http_version 1.1;
81
      proxy_pass_header Server;
82
      proxy_set_header Host $http_host;
83
      proxy_redirect off;
84
      proxy_set_header X-Real-IP $remote_addr;
85
      proxy_set_header X-Scheme $scheme;
86
      proxy_set_header X-Forwarded-Proto $scheme;
87
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
88
      }
89
}
90
</pre>
91
92 4 Simone Piccardi
poi per usarlo creare un link simbolico verso lo stesso su @/etc/nginx/sites-enabled/grafana@ e riavviare Ngnix con @service nginx restart@.
93 1 Simone Piccardi
94 4 Simone Piccardi
Infine per avere un corretto funzionamento delle notifiche per posta elettronica (usate ad esempio per inviare gli inviti agli utenti) deve essere configurata la sezione @[smtp]@ del file di configurazione, definendo:
95 1 Simone Piccardi
96
<pre>
97
enabled = true
98
host = localhost:25
99
from_address = admin@grafana.miosito.it
100
</pre>
101 3 Simone Piccardi
102
Infine potrà verificare il funzionamento del programma collegandosi all'indirizzo:
103
104
<pre>
105
https://grafana.miosito.it
106
</pre>
107
108
collegandosi con le credenziali di default (se non modificate preventivamente) nel qual caso, come accennato, verrà richiesta la immissione di una nuova password.