Grafana su Ubuntu 22.04 e 20.04 LTS si installa in modo pulito usando il repository ufficiale: così eviti pacchetti vecchi, dipendenze strane e aggiornamenti manuali. La procedura è lineare, ma vale la pena farla bene fin dall’inizio: aggiunta della chiave, repository corretto, installazione del servizio, verifica dell’ascolto sulla porta 3000 e primo accesso via web. Se l’obiettivo è usarlo in produzione o in un ambiente condiviso, conviene anche applicare subito un minimo di hardening e una configurazione iniziale sensata.
Perché usare il repository ufficiale
La versione disponibile nei repository Ubuntu non è sempre allineata alle release più recenti di Grafana. Per un pannello di monitoraggio questo conta: fix di sicurezza, supporto per datasource nuovi, correzioni su plugin e compatibilità con librerie backend arrivano spesso prima nel canale ufficiale. In più, il pacchetto ufficiale integra un servizio systemd già pronto, quindi l’avvio automatico al boot non richiede lavoro extra.
Su Ubuntu 22.04 e 20.04 la procedura è sostanzialmente identica. Cambia poco o nulla a livello operativo, ma è corretto verificare sempre la release in uso prima di partire:
lsb_release -a
Se il comando non è presente, puoi usare:
cat /etc/os-release
Il punto non è la curiosità: è evitare di applicare istruzioni pensate per una base diversa, soprattutto quando si parla di repository, chiavi e gestione dei servizi.
Preparazione del sistema
Prima di aggiungere il repository, aggiorna l’indice dei pacchetti e installa i prerequisiti minimi. Non è un passaggio cosmetico: ti serve per gestire il download della chiave e l’aggiunta del repository in modo affidabile.
sudo apt update
sudo apt install -y apt-transport-https software-properties-common wget
Su alcune installazioni recenti apt-transport-https è già superfluo, ma tenerlo nella lista non crea problemi pratici. Se lavori in ambienti con policy rigide, controlla anche che il server abbia accesso in uscita verso il repository Grafana e verso i mirror Ubuntu.
Aggiunta della chiave e del repository Grafana
La parte più delicata è la registrazione della chiave e del repository. Oggi è preferibile usare il formato keyring e non il vecchio metodo con apt-key, che è deprecato. Questo approccio è più pulito e riduce il rischio di mescolare chiavi diverse a livello globale.
Scarica la chiave e salvala nel percorso dedicato:
sudo mkdir -p /etc/apt/keyrings
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
Ora aggiungi il repository stabile:
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
A questo punto aggiorna di nuovo l’indice pacchetti:
sudo apt update
Se il repository è stato acquisito correttamente, apt update non deve mostrare errori di firma o problemi di connessione. In caso contrario, controlla prima la reachability di rete e poi il contenuto del file /etc/apt/sources.list.d/grafana.list.
Installazione di Grafana
Il pacchetto principale da installare è grafana. Su Ubuntu, il servizio viene registrato automaticamente e il binario server viene avviato tramite systemd.
sudo apt install -y grafana
Terminata l’installazione, verifica che il servizio sia presente e non sia fallito in fase di bootstrap:
systemctl status grafana-server --no-pager
Lo stato atteso è active (running). Se vedi failed, il primo posto da guardare è il journal del servizio:
journalctl -u grafana-server -n 100 --no-pager
In un’installazione sana, il servizio ascolta sulla porta 3000 in IPv4 e spesso anche in IPv6, a seconda della configurazione locale:
sudo ss -lntp | grep 3000
Primo accesso all’interfaccia web
Di default Grafana espone l’interfaccia web su http://IP-SERVER:3000. Il login iniziale usa credenziali predefinite che vanno cambiate subito dopo il primo accesso. Se il server è raggiungibile solo in locale o dietro firewall, apri temporaneamente la porta necessaria o usa un tunnel SSH per la verifica iniziale.
Per un test rapido dalla macchina stessa:
curl -I http://127.0.0.1:3000
La risposta attesa è un HTTP 200 o un redirect coerente con la pagina di login. Se ottieni connection refused, il servizio non è in ascolto. Se ottieni timeout, il problema è più probabilmente su firewall, routing o binding dell’interfaccia.
Configurazione iniziale utile subito
Grafana funziona anche senza toccare nulla, ma una installazione minima seria dovrebbe ricevere almeno tre interventi: cambio password admin, scelta del nome host pubblico corretto e definizione del protocollo se lo metti dietro reverse proxy o TLS terminato altrove. La configurazione principale vive in /etc/grafana/grafana.ini, mentre molte impostazioni possono essere sovrascritte con file dedicati o variabili d’ambiente.
Per esempio, se vuoi prepararlo a stare dietro un reverse proxy HTTPS, le sezioni più rilevanti sono [server] e, in alcuni casi, [security]. Un estratto tipico potrebbe essere questo:
[server]
protocol = http
http_port = 3000
domain = grafana.example.com
root_url = https://grafana.example.com/
serve_from_sub_path = false
Se metti Grafana sotto un sottopercorso, ad esempio /grafana, devi allineare root_url e serve_from_sub_path = true. È un dettaglio che molti trascurano e poi si ritrovano con asset statici rotti o redirect sbagliati.
Dopo una modifica al file di configurazione, riavvia il servizio e controlla che la sintassi non abbia introdotto errori silenziosi:
sudo systemctl restart grafana-server
sudo systemctl status grafana-server --no-pager
Hardening minimo: password, rete e permessi
La prima cosa da fare dopo l’accesso è cambiare la password amministrativa. Se stai usando la dashboard solo in LAN, non basta comunque lasciare le credenziali di default. Se il server è esposto, il rischio è ovvio: la porta 3000 è un bersaglio semplice da enumerare e non dovrebbe restare aperta verso Internet senza protezioni.
Una verifica rapida del firewall locale, se usi UFW, può essere questa:
sudo ufw status verbose
Se devi consentire l’accesso solo da una rete amministrativa, limita la porta 3000 a quell’origine. Esempio con UFW:
sudo ufw allow from 10.0.0.0/24 to any port 3000 proto tcp
Se invece Grafana è dietro Nginx, Apache o un bilanciatore, la porta 3000 può restare chiusa all’esterno e aperta solo sul loopback o sulla rete interna. Questo è in genere il modello migliore: riduce la superficie d’attacco e semplifica la gestione del certificato TLS sul proxy frontale.
Controlla anche i permessi dei file di configurazione. Il pacchetto ufficiale crea l’utente di servizio grafana e usa directory dedicate. Non cambiare ownership senza necessità: se rompi i permessi, il servizio parte male o non parte affatto. In caso di dubbi, ispeziona i path principali con:
dpkg -L grafana | sed -n '1,120p'
Avvio automatico e gestione con systemd
Il pacchetto ufficiale integra unit systemd. Abilita l’avvio automatico se non è già attivo:
sudo systemctl enable grafana-server
Per vedere i dettagli dell’unit file e capire quali variabili o percorsi usa, puoi interrogare systemd direttamente:
systemctl cat grafana-server
Questo è utile quando devi integrare il servizio in un flusso di gestione più ampio: override dell’ambiente, limiti di risorse, sandboxing o dipendenze da altri servizi. Se ti serve un override locale, non editare direttamente l’unit originale: usa invece il drop-in dedicato.
sudo systemctl edit grafana-server
Con questo approccio puoi aggiungere, per esempio, limiti più stretti o variabili aggiuntive senza perdere il tracciamento delle modifiche al prossimo aggiornamento del pacchetto.
Verifica funzionale dopo l’installazione
Dopo l’installazione non basta vedere il processo attivo. Serve una verifica funzionale minima che tocchi tre punti: servizio vivo, porta esposta correttamente, pagina web raggiungibile. Una sequenza pratica è questa:
systemctl is-active grafana-server
ss -lntp | grep 3000
curl -I http://127.0.0.1:3000
Se tutti e tre i controlli sono coerenti, puoi considerare l’installazione base completa. Il passo successivo è l’integrazione con datasource, alerting, eventuale reverse proxy e policy di accesso. Se uno dei tre fallisce, non andare avanti a “sistemare dopo”: il rischio è che il problema si mascheri sotto altre configurazioni.
Grafana dietro reverse proxy: quando serve davvero
Mettere Grafana dietro un reverse proxy ha senso quasi sempre in ambienti esposti o multi-servizio. Ti permette di terminare TLS sul frontend, applicare rate limiting, gestire host name pubblici e centralizzare i certificati. In questo scenario Grafana resta in ascolto sulla porta locale, mentre il proxy si occupa dell’ingresso esterno.
Il punto critico è l’allineamento tra URL pubblico e configurazione interna. Se il proxy presenta https://grafana.example.com/ ma Grafana continua a credere di essere su http://localhost:3000, compaiono problemi di redirect, cookie o contenuti misti. Il parametro da controllare è quasi sempre root_url.
Un test semplice della coerenza del proxy è richiamare l’URL esterno e osservare intestazioni, redirect e codice di risposta:
curl -I https://grafana.example.com/
Se il certificato è corretto e il proxy è configurato bene, dovresti arrivare alla pagina di login senza loop di redirect. Se invece il browser continua a ricaricare o mostra risorse mancanti, il primo posto da controllare è la coppia root_url e configurazione del proxy frontale.
Aggiornamento del pacchetto senza sorprese
Una volta installato, Grafana si aggiorna con il normale ciclo apt. Prima di aggiornare in ambienti sensibili, conviene però verificare la release nota e leggere le note del changelog, soprattutto se usi plugin terzi o datasource meno comuni. Un aggiornamento ordinario si presenta così:
sudo apt update
sudo apt upgrade -y grafana
Dopo l’upgrade, controlla di nuovo il servizio e il comportamento dell’interfaccia. In particolare, se usi dashboard critiche, verifica che i datasource rispondano e che gli alert non siano rimasti in stato anomalo. Un aggiornamento riuscito a livello di pacchetto non basta se poi la parte applicativa è incoerente.
Problemi comuni e lettura rapida dei sintomi
Se la pagina non si apre, la sequenza di diagnosi deve essere molto semplice: servizio, porta, rete, proxy. Non partire dai plugin o dal database interno senza avere prima escluso il livello base.
- Connection refused: servizio non attivo o porta sbagliata. Verifica con
systemctl status grafana-serveress -lntp | grep 3000. - Timeout: firewall, routing o security group. Verifica con
ufw status verboseo con le regole del firewall esterno. - Redirect loop: quasi sempre mismatch tra
root_url, protocollo e reverse proxy. - Schermata bianca o asset mancanti: path pubblico errato, subpath non configurato o proxy che riscrive male gli header.
Se il servizio parte ma l’interfaccia resta vuota, il log applicativo è il punto più utile. Cerca errori di binding, problemi sui permessi di scrittura o incompatibilità con plugin caricati all’avvio. Il file di log può variare in base alla configurazione, ma il journal di systemd resta sempre una fonte affidabile di partenza.
Installazione pulita con una checklist operativa
Se vuoi portarti a casa un’installazione che non richieda correzioni immediate, la sequenza operativa minima è questa:
- Verifica la release Ubuntu con
lsb_release -aocat /etc/os-release. - Aggiorna i pacchetti e installa i prerequisiti con
apt updateeapt install. - Aggiungi chiave e repository ufficiale Grafana in
/etc/apt/keyrings/e/etc/apt/sources.list.d/. - Installa il pacchetto
grafana. - Controlla lo stato del servizio con
systemctl status grafana-server. - Verifica l’ascolto sulla porta 3000 con
ss -lntp. - Apri l’interfaccia web e cambia subito la password admin.
- Se esposto, limita l’accesso con firewall o reverse proxy.
Questa sequenza riduce gli errori tipici di installazione e ti lascia già pronto per il passo successivo: provisioning dei datasource, import delle dashboard e integrazione con alerting o identity provider.
Installare Grafana su Ubuntu 20.04 e 22.04 senza complicarsi la vita
La differenza tra una prova veloce e una base solida sta quasi tutta nei dettagli operativi: repository giusto, servizio controllato, porta verificata, accesso protetto. Grafana non richiede una procedura lunga, ma richiede precisione. Se il pacchetto è installato correttamente e il servizio è sano, il resto diventa un lavoro di configurazione, non di recupero incidenti.
Per un ambiente piccolo può bastare l’accesso diretto sulla porta 3000. In uno scenario esposto, invece, il modello più pulito resta Grafana dietro reverse proxy con TLS e accesso ristretto. In entrambi i casi, partire dal repository ufficiale ti mette nella condizione migliore per aggiornare senza sorprese e mantenere il sistema allineato alle release upstream.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.