Feb 042013
 

glances

La maggior parte di questo articolo si basa sulle informazioni che si trovano nel blog di Nicolargo , l’autore di questo strumento.

Glances è un software libero (sotto licenza LGPL) per monitorare sistemi GNU/Linux o sistemi operativi BSD da un’interfaccia di testo. Glances usa la libreria libstatgrab per recuperare le informazioni dal sistema ed è sviluppato in Python.

Quindi un’altro clone di top/htop?

Sì e no, una cosa unica di Glances che ho notato subito è che si possono configurare delle soglie nel suo file di configurazione e vedere lo stato delle risorse di sistema con dei colori che indicano se tutto va bene oppure no , a colpo d’occhio.

Installazione

Glances è disponibile per alcune distribuzioni: Debian (SID), Arch, Fedora, RedHat, FreeBSD ma non per Ubuntu o Mint (almeno per quello che ho trovato) quindi per installare l’ultima versione (1.6 al momento) il mio suggerimento è quello di utilizzare PyPI, un gestore di pacchetti di Python.

$ sudo apt-get update
$ sudo apt-get install python-pip build-essential python-dev

Quindi installare la versione più recente di Glances:

$ sudo pip install Glances
 
Downloading/unpacking Glances
  Downloading glances-1.6.tar.gz (674Kb): 674Kb downloaded
  Running setup.py egg_info for package Glances
 
Downloading/unpacking psutil>=0.4.1 (from Glances)
  Downloading psutil-0.6.1.tar.gz (138Kb): 138Kb downloaded
  Running setup.py egg_info for package psutil
 
Installing collected packages: Glances, psutil
  Running setup.py install for Glances
 
    Installing glances script to /usr/local/bin
  Running setup.py install for psutil
    building '_psutil_linux' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o -o build/lib.linux-x86_64-2.7/_psutil_linux.so
    building '_psutil_posix' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c psutil/_psutil_posix.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_posix.o
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/psutil/_psutil_posix.o -o build/lib.linux-x86_64-2.7/_psutil_posix.so
 
Successfully installed Glances psutil
Cleaning up...

Provatelo scrivendo in un terminale: glances dovreste vedere qualcosa simile a questo:

glances

In glances vedrete un sacco di informazioni in merito alle risorse del sistema: CPU, carico, memoria, rete Swap, Disk I/O e Processi, tutto mostrato in una pagina, per impostazione predefinita utilizza questo codice colore:

 

  • GREEN : La statistica è “OK”
  • BLUE : La statistica è in stato di “ATTENZIONE” (to watch)
  • VIOLET : La statistica è in stato “PRE-ALLARME” (alert)
  • RED : La statistica è in stato “CRITICO” (critical)

Quando glances è in esecuzione, è possibile premere alcuni tasti speciali per dare alcuni comandi :

a Ordina i processi automaticamente, ciò significa che:

  • Se CPU IoWait > 60% ordina per “lettura e scrittura IO”
  • Se CPU > 70%, ordina per “Utilizzo di CPU”
  • Se MEM > 70%, ordina per “Utilizzo della memoria”

c Ordina i processi per CPU%
m Ordina i processi per MEM%
p Ordina i processi per nome
i Ordina i processi per IO Rate
d Mostra/Nasconde statistiche su disk I/O
f Mostra/Nascondefile statistiche di sistema
n Mostra/Nasconde statistiche di rete
s Mostra/Nasconde statistiche dei sensori
b Bit/s o Byte/s per l’I/O di rete
w Cancella i log sui warning
x Cancella i log sui warning e cristical
1 CPU globale or status Per Core
h Mostra/Nasconde l’aiuto
q Quit (funzionano anche Esc o Ctrl-C)
l Mostra/Nasconde li messaggi dei log

h3>File di configurazione

glances3
È possibile impostare le soglie nel file di configurazione di Glances, su GNU/Linux, il file di configurazione di default si trova in /etc/glances/glances.conf.
Attenzione, se è stato installato il pacchetto tramite PyPy non avrete la directory o il file, quindi per iniziare potete scaricare il file da https://gist.github.com/4647457 , questo è un buon modello che è possibile modificare per mettere i vostri valori.
Come si può vedere nel file è definita una sezione per ogni statistica (CPU, LOAD, MEM …) scrivete i vostri limiti per gli stati Careful (per il monitoraggio), Warning (da trattare), Critical (da trattare in caso di emergenza).

I limiti utilizzati sono disponibili nella finestra di aiuto nella forma di una tabella, come nell’immagine mostrata

Modalità Client/server

Un’altra caratteristica interessante di questo strumento di monitoraggio è che è possibile avviarlo in modalità server digitando semplicemente glances -s , questo darà un output del tipo Glances server is running on 0.0.0.0:61209 ed ora è possibile connettersi ad esso da un altro computer utilizzando glances -c @server dove @server è l’indirizzo IP o il nome host del server.

Glances usa un server XML/RPC che puà essere utilizzato anche da altri programmi.
In modalità server, è possibile scegliere l’indirizzo su cui ascoltare (-B INDIRIZZO) ed anche la porta TCP (-p PORTA), l’indirizzo di default su cui ascolta è 0.0.0.0 (Glances ascolterà su tutte le interfaccie di rete) e come porta TCP la 61209.
In modalità client, è possibile configurare la porta TCP del server (-p port).
Nelal modalità client/server, i limiti sono configurati sul server.
Dalla versione 1.6 è possibile anche configurare opzionalmente una password per accedere al server (-P password) che, se impostata sul server deve essere utilizzata anche sul client.

Conclusioni

Glances è davvero un progetto interessante, aggiunge agli strumenti simili a top il concetto di soglia, che può essere utile quando si gestisce una grande quantità di server e si desidera impostare diversi punti di vista (forse è normale che il server DB utilizzi il 95% di la CPU, ma non va bene se questo accade sul server web), e anche il concetto di client/server, questo apre nuove opportunità come avere un punto centrale che raccoglie tutte le informazioni dal server, o costruire una interfaccia web che analizza questi dati e li inserisce in alcune pagine web.

Alcuni suggerimenti? Aggiungere una vista a Thread per i processi, e la possibilità di eseguirlo tramite cron jobs che producano un output in un file (CSV, XML o solo testo, come nmon)

Popular Posts:

Flattr this!

  3 Responses to “Glances un nuovo strumento per controllare il sistema”

  1. Goodness, Text?. I thought we were trying to move away from this old school stuff. Slap a simple, intuitive GUI on that sucker and call it a day.

  2. Looks like a cross between top and topas (AIX)

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*