Progetto

Generale

Profilo

Grafana » Cronologia » Versione 2

Simone Piccardi, 26-06-2018 13:23

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 2 Simone Piccardi
curl https://packagecloud.io/gpg.key | sudo apt-key add -
13
</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 2 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 è ovunque) per redirigere sullo stesso le connessioni usando un indirizzo pubblico gestito da un server web con gli opportuni virtual host, per questo occorre impostare: 
48 1 Simone Piccardi
49
<pre>
50
# The ip address to bind to, empty will bind to all interfaces
51
http_addr = 127.0.0.1
52
</pre>
53
54
inoltre per avere un indirizzo corretto inviato verso l'esterno si dovrà impostare la URL con cui si accede al servizio con:
55
56
<pre>
57
# The full public facing url you use in browser, used for redirects and emails
58
# If you use reverse proxy and sub path specify full url (with sub path)
59
;root_url = http://localhost:3000
60
root_url = https://grafana.miosito.it
61
</pre>
62
63
64
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:
65
66
<pre>
67
upstream grafana {
68
        server 127.0.0.1:3000;
69
}
70
server {
71
   listen 443 ssl;
72
   server_name grafana.miosito.it;
73
   root /var/www/html;
74
   ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
75
   ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
76
   location / {
77
      proxy_pass http://grafana;
78
      client_max_body_size 20m;
79
      proxy_http_version 1.1;
80
      proxy_pass_header Server;
81
      proxy_set_header Host $http_host;
82
      proxy_redirect off;
83
      proxy_set_header X-Real-IP $remote_addr;
84
      proxy_set_header X-Scheme $scheme;
85
      proxy_set_header X-Forwarded-Proto $scheme;
86
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
87
      }
88
}
89
</pre>
90
91
e per usarlo creare in link simbolico verso lo stesso su @/etc/nginx/sites-enabled/grafana@ e riavviare Ngnix con @service nginx restart@.
92
93
Per avere un corretto funzionamento delle notifiche per posta elettronica (usate per inviare gli inviti agli utenti) deve essere configurata la sezione @[smtp]@ del file di configurazione, definendo:
94
95
<pre>
96
enabled = true
97
host = localhost:25
98
from_address = admin@grafana.miosito.it
99
</pre>