Progetto

Generale

Profilo

Grafana » Cronologia » Versione 3

Simone Piccardi, 26-06-2018 14:18

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 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 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: 
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
inoltre per avere un indirizzo corretto inviato verso l'esterno si dovrà impostare la URL con cui si accede al servizio con:
57
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
66
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:
67
68
<pre>
69
upstream grafana {
70
        server 127.0.0.1:3000;
71
}
72
server {
73
   listen 443 ssl;
74
   server_name grafana.miosito.it;
75
   root /var/www/html;
76
   ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
77
   ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
78
   location / {
79
      proxy_pass http://grafana;
80
      client_max_body_size 20m;
81
      proxy_http_version 1.1;
82
      proxy_pass_header Server;
83
      proxy_set_header Host $http_host;
84
      proxy_redirect off;
85
      proxy_set_header X-Real-IP $remote_addr;
86
      proxy_set_header X-Scheme $scheme;
87
      proxy_set_header X-Forwarded-Proto $scheme;
88
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
89
      }
90
}
91
</pre>
92
93
e per usarlo creare in link simbolico verso lo stesso su @/etc/nginx/sites-enabled/grafana@ e riavviare Ngnix con @service nginx restart@.
94
95
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:
96
97
<pre>
98
enabled = true
99
host = localhost:25
100
from_address = admin@grafana.miosito.it
101
</pre>
102 3 Simone Piccardi
103
Infine potrà verificare il funzionamento del programma collegandosi all'indirizzo:
104
105
<pre>
106
https://grafana.miosito.it
107
</pre>
108
109
collegandosi con le credenziali di default (se non modificate preventivamente) nel qual caso, come accennato, verrà richiesta la immissione di una nuova password.