Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Monitorare un server Linux con Glances

Glances: un self-hosted monitoring tool che permette di monitorare un server Linux sia da CLI che da Web UI
Glances: un self-hosted monitoring tool che permette di monitorare un server Linux sia da CLI che da Web UI
Link copiato negli appunti

In questa guida per utenti Linux vogliamo parlarvi di Glances. Si tratta di un self-hosted monitoring tool che permette di tenere sotto controllo il proprio server Linux.

Cosa è Glances

Questo system monitor consente di visualizzare velocemente i consumi delle risorse hardware, i diversi processi eseguiti nel sistema, il traffico di rete e tutta una serie di informazioni che possono tornare utili durante le operazioni di monitoraggio delle attività di una determinata macchina.

Come molti altri tool simili anche Glances offre una completa e semplice Web Interface con la quale l'utente può interfacciarsi da remoto da qualsiasi browser web. Questo strumento, magari in accoppiata con sistemi di notifica come PiAlert, può diventare un importante alleato dei sysadmin. Oltretutto si tratta di un progetto rilasciato sotto licenza open source, quindi è possibile personalizzarlo come meglio si crede in modo tale da adattarlo ad ogni esigenza.

Glances viene distribuito anche tramite un pratico container Docker, o se si preferisce LXC, quindi il suo setup viene eseguito in pochi minuti senza troppi problemi. Oltre ad una classica Web GUI, Glances dispone di una pratica CLI consultabile da bash. Quindi, in assenza di un web browser, l'amministratore di sistema è comunque in grado di gestire il monitoring in real-time.

Glances è dotato di una serie di API, XML-RPC e RESTful, cosi da potersi interfacciare con una serie di applicativi e tool compatibili. Questi elementi lo rendono una utility estremamente versatile.

Glances è stato scritto con il linguaggio Python, i developer del progetto hanno sfruttato inoltre una serie di librerie per recuperare le informazioni sparse per il sistema operativo. La sua struttura modulare, quindi è molto semplice creare nuovi add-on/plugin cosi da includere funzionalità addizionali ad hoc.

Installazione di Docker su Linux

Diamo il via al tutorial andando prima di tutto ad installare e configurare Docker, in modo che sia poi possibile implementare il container di Glances sul server Linux.

Proprio perché abbiamo scelto di adottare questo approccio la distribuzione Linux che stiamo utilizzando è totalmente indifferente. Possiamo adottare quella che preferiamo. Apriamo quindi il terminale e digitiamo questo comando per recuperare l'installer di Docker:

curl -sSL https://get.docker.com | sh

Installiamolo eseguendo lo script apposito:

sudo sh get-docker.sh

Aggiungiamo il nostro utente al gruppo docker:

sudo usermod -aG docker nomedelvostroutente

Ed impostiamo Docker perché venga eseguito in automatico ad ogni boot da systemd:

sudo systemctl enable docker.service && sudo systemctl enable containerd.service

Per completezza specifichiamo che non tutti i sistemi Linux adottano systemd. Quindi se la vostra distribuzione sfrutta altri gestori dei demoni/sistemi di init vi invitiamo a consultare il manuale ufficiale cosi da capire come abilitare l'avvio automatico di Docker.

Se infatti non procediamo ad applicare questo setting, potrebbe capitare che dopo un riavvio del sistema, magari perché è stata rilasciata una nuova release del kernel Linux, Docker non venga attivato rendendo inaccessibile l'istanza di Glances.

Installazione e configurazione del container Docker di Glances

Ora che abbiamo preparato il terreno possiamo mettere reperire Glances. Quindi generiamo un directory dedicata al container:

sudo mkdir -p /opt/stacks/glances

Spostiamoci al suo interno:

cd /opt/stacks/glances

e andiamo a creare il Docker compose file con l'editor di testo nano:

sudo nano compose.yaml

che deve essere compilato in questo modo:

services:
monitoring:
image: nicolargo/glances:latest
restart: always
pid: host
ports:
- 61208-61209:61208-61209
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/os-release:/etc/os-release:ro
environment:
- "GLANCES_OPT=-w"

Salviamo il tutto con la combinazione di tasti CTRL+O e chiudiamo il programma con CTRL+X. Ora avviamo il container Docker appena configurato:

docker compose up -d

Accedere alla web interface di Glances

Arrivati a questo punto la nostra nuova istanza Docker di Glances è attiva e funzionante all'interno del server Linux. Procediamo quindi accedendo all'interfaccia web del programma. Apriamo il nostro browser di fiducia e digitiamo nella barra degli URL un link simile a questo:

192.168.1.12:61208

La prima parte dell'URL è composta dall'IP locale del server. Se non siamo a conoscenza di questo dato possiamo semplicemente interpellare bash:

hostname -I

e come output otterremo il nostro IP locale:

192.168.1.12

La seconda parte dell'URL è invece la porta. È possibile visionarla all'interno del Docker compose file generato in precedenza. Una volta digitato il link ci viene mostrata la dashboard del programma:

glances

Come potete notare si tratta di qualcosa di comparabile al più noto Top/Htop, storico tool da shell. Si tratta quindi di un programma che risulta familiare agli utenti Linux di vecchia data.

Aggiornare il container container Docker di Glances

Uno dei vantaggi di sfruttare una configurazione basata sui container Docker è che sono semplicissimi non solo da gestire ed implementare ma anche da tenere aggiornati. Possiamo affidarci a sistemi come Dockge e Watchtower o fare tutto manualmente tramite la shell.

Torniamo nella directory del container:

cd /opt/stacks/glances

Scarichiamo quindi la release più recente del Docker di Glances con questo pratico comando:

docker compose pull

Ultimata la procedura possiamo riavviare il container cosi da accedere alla build più recente:

docker compose up -d

Questo genere di operazioni per la manutenzione del self-hosted monitoring tool sono alla portata di tutti, quindi anche i neofiti del mondo Linux non avranno problemi nell'approcciarsi alla piattaforma.

Installare Glances tramite Pip

Se lo preferite potete ottenere Glances anche con Pip, uno dei più popolari package installer per le applicazioni Python. Pip non è presente di base nelle distribuzioni e va quindi installato separatamente. Ecco come procedere su Debian ed altre distribuzioni derivate:

sudo apt install python3-pip -y

Se invece usate Fedora:

sudo dnf install python3-pip

Quindi per installare Glances con Pip procediamo cosi:

pip install --user 'glances[all]'

Mentre se desideriamo avviare un upgrade del pacchetto dovremo lanciare l'istruzione:

pip install --user --upgrade glances

Ti consigliamo anche