Monitoraggio in tempo reale di CPU, RAM e FileSystem con Glances: Web UI e avvio automatico su Debian (systemd)

Dalla semplice interfaccia da terminale fino alla Web UI accessibile da browser, ti mostro come installarlo, personalizzarlo e farlo girare come servizio su Debian. Perfetto per chi ama soluzioni leggere, versatili e self-hosted.

Se sei stufo dei vecchi top o htop e cerchi qualcosa di più completo, ma senza fronzoli, Glances è la manna. È un monitor in tempo reale open source leggero ma potentissimo scritto in Python che tiene d’occhio CPU, RAM, FileSystem, rete, I/O, sensori, container e altro in tempo reale, tutto in un unico dashboard pulito e dinamico.

Perché mi piace Glances?

  • Monitoraggio da terminale (TUI): basta lanciare glances e hai una panoramica in tempo reale nella tua finestra di comando, con la dashboard che si adatta alla dimensione del terminale Glances.
  • Monitoraggio web semplice e accessibile (GUI): consultabile via browser, anche da remoto.
  • Opzione sempre attivo grazie a systemd su Debian: configurazione facile per far partire Glances all’avvio come servizio per tenerlo sempre operativo anche quando il terminale è spento o in caso di reboot.

In questo articolo ti mostro come ho installato Glances su VPS Debian utilizzando pipx, uno strumento pratico per gestire applicazioni Python isolate senza sporcare il sistema. Ti spiego perché ho scelto questa via rispetto al classico apt, e come sono arrivato a configurare la modalità Web (Web UI) e infine impostare Glances come servizio systemd, così da tenerlo sempre attivo al boot senza doverci più pensare.

Link al progetto

Puoi trovare il progetto Gances all’indirizzo: https://nicolargo.github.io/glances/

Installare Glances su Debian

Quando si tratta di installare Glances su Debian, la strada più comune è quella offerta dai repository ufficiali, tramite il classico comando sudo apt install glances. Questo approccio è comodo e rapido, ma spesso ti ritroverai con una versione datata, priva delle funzionalità più recenti o delle correzioni di bug introdotte dallo sviluppatore.

Per questo motivo, ho scelto di installare Glances utilizzando pipx, uno strumento pensato per gestire applicazioni Python in ambienti isolati. Con pipx, puoi eseguire e aggiornare tool come Glances senza compromettere il resto del sistema e senza dover creare manualmente ambienti virtuali. L’installazione è semplice e mantiene il tuo sistema pulito, ideale per chi vuole avere l’ultima versione disponibile e un controllo maggiore su ogni aggiornamento.

Perché usare pipx al posto di apt per installare Glances?

Installare Glances con pipx presenta diversi vantaggi pratici:

  • Ottieni la versione più recente disponibile su PyPI, molto più aggiornata rispetto a quella presente nei repository Debian.
  • L’installazione avviene in un ambiente isolato, evitando conflitti con altri pacchetti Python o configurazioni di sistema.
  • È facile da gestire e aggiornare: basta un pipx upgrade glances per essere sempre al passo.

Naturalmente ci sono anche alcuni aspetti da considerare. pipx non è preinstallato in Debian, quindi va aggiunto manualmente con:

sudo apt install pipx

Questo comando installa pipx tramite il gestore pacchetti di Debian.

pipx ensurepath

Questo invece aggiunge la directory dove pipx installa gli eseguibili (~/.local/bin) al tuo PATH, se non è già presente. Importante: chiudi e riapri il terminale.

Una volta fatto, puoi installare Glances con:

pipx install 'glances[all]'

Questo installa Glances con tutte le dipendenze, come supporto per sensori, rete, esportazione dati, ecc.

pixp non è legato al gestore di pacchetti del sistema (come apt) quindi, non riceve aggiornamenti automatici durante gli upgrade di sistema, come del resto non avviene con i container docker, ma utilizza questo comando che aggiorna Glances all’ultima versione disponibile su PyPI:

pipx upgrade glances

Dopo l’aggiornamento, puoi controllare la versione con:

glances --version
comando per controllare la versione di glances

Modalità di utilizzo di Glances

Una volta installato Glances, puoi iniziare a usarlo immediatamente senza configurazioni particolari. Il suo punto di forza è la versatilità: puoi monitorare il sistema direttamente dal terminale oppure attivare una modalità server per il controllo remoto.

L’utilizzo più diretto è la modalità standalone tramite terminale, lanciando il comando:

glances

In questo modo si apre l’interfaccia TUI (Text User Interface), una dashboard interattiva in tempo reale che mostra tutte le metriche fondamentali: uso della CPU, consumo di RAM, stato del file system, attività di rete, processi attivi, I/O e molto altro. L’interfaccia è minimale, leggibile e si adatta automaticamente alla dimensione del terminale (responsive layout), rendendola ideale su sistemi headless o server privi di interfaccia grafica (VPS, Raspberry Pi, server cloud).

Sebbene Glances possa essere utilizzato anche in modalità client-server per monitorare da remoto più dispositivi, questo aspetto non è trattato dell’articolo. Nel paragrafo successivo ci concentreremo sull’uso dell’interfaccia Web, illustrando come attivare la modalità server GUI per accedere ai dati di sistema direttamente da un browser.

Modalità Web di Glances: monitoraggio da browser in tempo reale

Una delle funzionalità più utili di Glances è la modalità Web, che consente di monitorare in tempo reale CPU, RAM, disco, rete e molto altro direttamente da un browser. Ideale per VPS, server domestici e macchine headless, questa modalità ti permette di accedere a tutte le metriche del sistema da qualsiasi dispositivo senza bisogno di accedere via SSH o usare il terminale.

Per avviare la Web UI è sufficiente lanciare:

glances -w

Questo comando attiva un piccolo server HTTP sulla porta predefinita 61208, accessibile da browser tramite http://<IP_del_server>:61208. La dashboard che si apre mostra in modo ordinato e aggiornato tutti i dati essenziali del sistema: utilizzo della CPU, carico della RAM, spazio su disco, traffico di rete, stato dei processi e altre informazioni tecniche, il tutto aggiornato costantemente senza bisogno di ricaricare la pagina.

La Web UI di Glances è leggera, reattiva e mobile-friendly, quindi può essere consultata anche da smartphone o tablet. Il design essenziale la rende perfetta per un utilizzo pratico, senza sovraccaricare la macchina monitorata né richiedere dipendenze pesanti. È possibile personalizzare il tempo di aggiornamento automatico con l’opzione -t, ad esempio:

glances -w -t 5 

per aggiornare i dati ogni 5 secondi. Se il sistema è esposto su Internet, è fortemente consigliato proteggerne l’accesso tramite un reverse proxy (come Nginx) o configurare l’autenticazione utente, attivabile via file di configurazione, per evitare accessi non autorizzati.

Tuttavia il comando glances -w funziona solo finché la shell da cui è stato avviato rimane aperta. Appena chiudi la sessione o il terminale, il server web si spegne.

Per rendere Glances sempre accessibile via browser, è necessario configurarlo come servizio systemd, in modo che venga eseguito automaticamente all’avvio del sistema e resti attivo in background senza dipendere da una sessione utente aperta. Questo passaggio permette un controllo remoto stabile, affidabile e persistente, adatto a qualsiasi scenario di monitoraggio self-hosted.

Eseguire Glances Web UI come servizio systemd su Debian

Per sfruttare appieno la modalità Web di Glances su un server Debian, è fondamentale configurarne l’avvio automatico tramite systemd. In questo modo, la Web UI resterà sempre attiva in background e accessibile anche dopo un riavvio del sistema, senza doverla eseguire manualmente da terminale.

Creazione del file di servizio glances.service

Per prima cosa, crea un nuovo file di unità systemd. Puoi farlo con il tuo editor di testo preferito, ad esempio con:

sudo nano /etc/systemd/system/glances.service

Inserisci al suo interno il seguente codice:

[Unit]
Description=Glances in Web Server Mode
After=network.target

[Service]
ExecStart=/home/<nome-utente>/.local/bin/glances -w
Restart=on-failure
User=<nome-utente>

[Install]
WantedBy=multi-user.target

Assicurati di sostituire <nome-utente> con il tuo nome utente Linux e che il percorso di glances corrisponda a quello effettivamente installato tramite pipx. Puoi verificarlo con which glances o pipx list.

Abilitare e avviare il servizio

Una volta creato il file, ricarica systemd per riconoscere il nuovo servizio:

sudo systemctl daemon-reexec

Poi abilita l’avvio automatico:

sudo systemctl enable glances.service

E avvialo immediatamente con:

sudo systemctl start glances.service

Verifica lo stato del servizio con:

systemctl status glances.service

Deve mostrare qualcosa di simile:

verifica stato del servizio glances

Se tutto è configurato correttamente, Glances sarà attivo all’avvio e accessibile via browser su http://<IP_del_server>:61208

glances web GUI

Nota importante: la configurazione predefinita non prevede alcuna protezione tramite password, rendendo l’interfaccia Web potenzialmente esposta ad accessi non autorizzati.

L’interfaccia Web di Glances è layout responsive compatibile con browser su desktop, tablet e smartphone, rendendola perfetta per accedere alle metriche di sistema in qualsiasi momento e da qualsiasi dispositivo.

Sicurezza e miglioramenti facoltativi

Chi espone la Web UI su reti pubbliche o ambienti condivisi dovrebbe valutare l’aggiunta di un livello di sicurezza. Glances supporta l’autenticazione con nome utente e password, attivabile tramite variabili d’ambiente o configurazione file (How do you protect your server (or Web server) with a login/password). In alternativa, è consigliabile proteggere l’accesso con un reverse proxy come Nginx o Traefik, magari con supporto HTTPS e certificati SSL per una maggiore sicura (Come installare Nginx Proxy Manager: la soluzione open source facile per la gestione dei proxy sicuri SSL con docker compose).

Per migliorare l’esperienza d’uso e aumentare l’efficienza, è possibile intervenire su moltissimi aspetti della configurazione.

Personalizzare la visualizzazione della data

Una delle prime cose che ho voluto sistemare nella Web UI è stato il formato data/ora, che di default segue lo stile anglosassone per avere una visualizzazione più chiara e familiare.

Per modificare il formato del timestamp visualizzato da Glances è consigliabile scaricare il file completo glances.conf dal repository ufficiale che contiene tutte le opzioni disponibili già strutturate e commentate.

Scarica il file di configurazione completo glances.conf

wget https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf

Poi crea la directory, se non esiste:

mkdir -p ~/.config/glances

Spostalo nella directory glances di configurazione utente:

mv glances.conf ~/.config/glances/

Per modificare il formato del timestamp apri il file con un editor:

nano ~/.config/glances/glances.conf

Cerca la sezione [global] decommenta e modifica questa riga = %Y-%m-%d %H:%M:%S in:

strftime_format = %d-%m-%Y %H:%M:%S %Z

Dopo aver salvato il file, nel nostro caso è necessario riavviare il servizio systemd per applicare le modifiche.

sudo systemctl restart glances.service

Verifica che il servizio sia attivo:

systemctl status glances.service

!! È necessario il riavvio perchè glances carica la configurazione solo all’avvio. Quindi, se cambi parametri non verranno applicati finché il processo non viene riavviato.

Alert su misura e notifiche self-hosted

Per esigenze più avanzate, ho configurato Glances in modo da lanciare script personalizzati quando vengono superate determinate soglie, come carico CPU elevato, RAM quasi satura o spazio disco critico. Questi eventi generano notifiche push inviate tramite un server ntfy self-hosted, così posso riceverle ovunque: su smartphone o desktop, senza dipendere da servizi esterni.

Notifiche Glances su app NTFY

Conclusioni

Glances è uno strumento potente, leggero e flessibile per monitorare in tempo reale lo stato di salute di un sistema Linux, perfetto per chi cerca una soluzione open source, self-hosted e facilmente accessibile via browser. Grazie alla modalità Web, alla possibilità di avviarlo come servizio systemd e alla semplicità d’uso anche da terminale, rappresenta una scelta ideale per professionisti, sysadmin, utenti esperti e smanettoni.

Configurato correttamente, Glances diventa un cruscotto sempre attivo per tenere d’occhio CPU, RAM, dischi, rete e molto altro, senza appesantire il sistema né dover installare software complessi o soluzioni proprietarie.

Se cerchi un’alternativa snella e open, Glances è senza dubbio una delle scelte consigliate.

emanuelegori
emanuelegori

Emanuele Gori è un blogger appassionato di FOSS e autore di questo blog.

Su Homelab Notes trovi guide pratiche, spunti e consigli per scoprire il mondo del software libero, delle soluzioni self-hosted e delle alternative open source ai servizi commerciali più diffusi.
Quando non scrive, è online nel Fediverso con spirito indipendente e tanta voglia di condividere conoscenza.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Leave the field below empty!