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. |