Il y a quelques jours, je vous avez présenté la première version de Glances, mon logiciel pour surveiller simplement ses systèmes en mode texte à partir d’une console ou d’un terminal. Quelques versions plus tard (Glances est actuellement disponible en version 1.3.2), il était temps pour moi de vous en faire une présentation un peu plus complète.
Introduction
Glances est un logiciel libre (distribué sous licence LGPL) permettant de surveiller votre système d’exploitation GNU/Linux ou BSD à partir d’une interface texte. Glances utilise la librairie libstatgrab pour récupérer les informations de votre système. Il est développé en langage Python.
Installation
Depuis le gestionnaire de paquet de votre système
Des paquets existent pour plusieurs distributions: Arch, Fedora/Redhat…
Le processus de packaging est actuellement en cours sur d’autres distribs, je vous conseille donc de rechercher Glances sur votre gestionnaire de package avant de faire une installation depuis les sources.
Merci de laisser un commentaire dans ce billet si vous trouvez Glances sur votre système
Depuis les sources
Le projet Glances est hébergé sur GitHUB.
Pour l’installer, il suffit de suivre les instructions suivantes depuis un terminal.
Récupération de la dernière version (1.3.2):
Procédez ensuite à l’installation:
$ cd glances-1.3.2
$ ./configure
$ make
$ sudo make install
Glances a besoin des dépendances suivantes:
- Python 2.6+ (non testé avec Python 3+)
- libstatgrab 0.16+
- python-statgrab 0.5+ (ne marchera PAS avec python-statgrab 0.4)
Notes specifiques pour une installation sous Debian 6.
Debian Squeeze met à disposition la version 0.4 de python-statgrab. Il faut donc installer la version 0.5 à la main:
$ wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5/
$ ./setup.py build
$ sudo ./setup.py install
Notes specifiques pour une installation sous Ubuntu 10.04 et 10.10.
Ces versions d’Ubuntu mettent à disposition la version 0.4 de python-statgrab. Il faut donc installer la version 0.5 à la main:
$ sudo apt-get install pkg-config build-essential autoconf automake python libstatgrab-dev python-all-dev
$ sudo apt-get remove python-statgrab
$ wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5/
$ ./setup.py build
$ sudo ./setup.py install
Lancement de Glances
Il suffit de saisir la commande suivante dans une console ou un terminal:
Note: sur certaines distributions, il faut saisir glances en lieu et place de glances.py.
Guide d’utilisation
Par défaut, l’affichage des statistiques est rafraichi toute les secondes.
Il est possible de changer cette valeur en utilisant l’option -t. Par exemple pour fixer un taux de rafraichissement à 5 secondes:
Les statistiques jugées importantes sont affichées en couleur:
- VERT: la statistique est « OK »
- BLEU: la statistique est « CAREFUL » (à surveiller)
- VIOLET: la statistique est « WARNING » (en alerte)
- ROUGE: la statistique est « CRITICAL » (critique)
Quand Glances est lancé, il est possible d’utiliser les touches suivantes:
‘a‘ pour trier la liste des processus de manière automatique:
- Si la CPU totale > 70% alors le tri se fait pas consommation CPU
- si la mémoire total > 70% alors le tri se fait pas consommation MEMOIRE
‘c‘ pour forcer le tri par consommation CPU
‘m‘ pour forcer le tri par consommation MEMOIRE
‘q‘ pour quitter Glances (il est également possible d’utiliser CTRL-C)
Passons ensuite à la description de la fenêtre de Glances:
En-tête
L’en-tête montre la version de Glances, le nom de la machine (FQND) ainsi qu’une information sur le système d’exploitation (nom, version).
CPU
L’état de la CPU est affiché par un pourcentage de l’utilisation globale.
- Si user|kernel|nice CPU est < 50%, alors le status est « OK ».
- Si user|kernel|nice CPU est > 50%, alors le status est « CAREFUL ».
- Si user|kernel|nice CPU est > 70%, alors le status est « WARNING ».
- Si user|kernel|nice CPU est > 90%, alors le status est « CRITICAL ».
Charge moyenne (aka Average Load)
Il est assez difficile de donner une définition claire de la charge d’une machine (load average). Sur le blog Nosheep, Zach en donne la définition suivante:
» C’est la somme moyenne du nombre de processus en attente dans la queue d’execution plus le nombre de processus actuellement en train d’être executés sur une période de temps de 1, 5 et 15 minutes. »
Glances permet d’afficher les alertes en tenant compte du nombre de coeurs de votre processeur. Par exemple, le seuil WARNING sera de 2 pour un processeur Bi-Core alors qu’il sera de 4 sur un Quad-Core.
- Si la charge moyenne est < O.7*Core, alors le status est « OK ».
- Si la charge moyenne est > O.7*Core, alors le status est « CAREFUL ».
- Si la charge moyenne est > 1*Core, alors le status est « WARNING ».
- Si la charge moyenne est > 5*Core, alors le status est « CRITICAL ».
Mémoire
Glances affiche 3 types d’informations pour la mémoire: RAM, SWAP et réelle (un peu à la manière de la commande « free -h »).
La mémoire réelle occupée est calculée ainsi = used – cache.
La mémoire réelle libre est calculée ainsi = free + cache.
Les alertes utilisent les seuils suivants:
- Si la mémoire est < 50%, alors le status « OK ».
- Si la mémoire est > 50%, alors le status « CAREFUL ».
- Si la mémoire est > 70%, alors le status « WARNING ».
- Si la mémoire est > 90%, alors le status « CRITICAL ».
Débits des interfaces réseau
Glances affiche les débits des interfaces réseau en adaptant dynamiquement l’unité à utiliser (bits par seconde).
Les alertes ne sont affichées que pour les interfaces dont les informations sur la vitesse maximale sont disponibles (cela dépend des distributions):
- Si le débit < 50%, alors le status est « OK ».
- Si le débit > 50%, alors le status est « CAREFUL ».
- Si le débit > 70%, alors le status est « WARNING ».
- Si le débit > 90%, alors le status est « CRITICAL ».
Par exemple, sur une interface Ethernet Fast Ethernet (100 Mbps), le status passera à WARNING si le débit dépasse les 70 Mbps.
Entrées/Sorties disque
Glances permet d’afficher les débits en lecture et écriture sur les disques en adaptant dynamiquement l’unité à utiliser (octets par seconde).
Il n’y a pas d’alerte remontée pour ce type d’information.
Espace sur les systèmes de fichiers
Glances affiche par système de fichiers l’espace disque total et utilisé. L’unité est automatiquement adaptée (octets par seconde).
Les alertes sont remontées sur l’espace disque utilisé:
- Si l’espace disque utilisé est < 50%, alors le status est « OK ».
- Si l’espace disque utilisé est > 50%, alors le status est « CAREFUL ».
- Si l’espace disque utilisé est > 70%, alors le status est « WARNING ».
- Si l’espace disque utilisé est > 90%, alors le status est « CRITICAL ».
Les processus
Glances affiche un résumé sur l’état des processus ainsi qu’une liste détaillé.
Le nombre des processus affichés est adapté à la taille de la fenêtre.
Pied de page
Glances y affiche la légende (rappel des codes des couleurs) ainsi que la date et l’heure courante.
A faire…
J’ai besoin de contributeurs pour faire évoluer Glances.
Notamment:
- Packaging pour Debian, Ubuntu, BSD et toutes autres distributions
- Controle de la présence des librairie dans le fichier configure.ac
- Inclure les stats de FS directement dans python-statgrab
- Ajout d’une fenêtre d’aide
- Optimisation du code
Pour toutes remarques, bugs, demande d’évolution sur Glances, merci d’utiliser le formulaire GitHub.
From Nicolargo.com