Glances 1.5 est arrivé

Date: 8/11/2012 | Catégories: Open-source,Planet-libre,Systeme | Tags:

Update: La version corrige un bug qui peut, sur certain OS, empêcher le bon fonctionnement de la version 1.5. Je viens donc de publier une version correctrice (1.5.1) qui effectue les contrôles nécessaires avant le démarrage de Glances.

Quelques mois après la sortie de la version 1.4 et la riche actualité qui a suivi (buzz sur pas mal de sites et intégration dans les paquets Debian Sid), voici donc la nouvelle mouture de Glances.

Pour rappel, Glances est un logiciel de supervision système en ligne de commande (interface texte basée sur Curses) permettant de voir en un clin d'oeil l'état de sa machine. Un code couleur permet de mettre en avant les statistiques que Glances juge nominale, à surveiller,  en alerte ou critique. Il peut également afficher la liste des dernières alertes/critiques. La lisibilité et l'économie de l'espace pour l'affichage sont des critères importants que j'ai essayé de garder en tête lors du développement et du choix des évolutions.

Nous allons dans ce billet aborder les principales nouveautés de la version 1.5, avec notamment un focus sur la fonction client/serveur permettant de surveiller les machines à distance.

Glances est disponible sous GNU/Linux, BSD, Mac OS X et même Windows (uniquement en mode serveur).

Installation et mise à jour

En attendant la disponibilité de la version 1.5 de Glances dans vos packets managers favoris, il est possible (et conseillé) d'utiliser le gestionnaire de paquet Python Pip pour installer ou mettre à jour le logiciel.

Installation:

# apt-get install python-pip build-essential python-dev
# pip install glances

Mise à jour:

# pip install -- upgrade glances

Si vous avez déjà une version antérieure de Glances installée, il se peut que la mise à jour ne ne fasse pas correctement. Il suffit alors de suivre la procédure suivante:

# rm -rf /usr/local/lib/python2.6/dist-packages/glances/
# rm -rf /usr/local/lib/python2.6/dist-packages/Glances-1.*
# rm -f /usr/local/bin/glances
# pip install glances

Note: si vous avez Python 2.7 ou supérieure, il faut adapter les chemins ci-dessus.

Pour tester que l'installation / mise à jour s'est bien passée, le plus simple est de lancer la commande:

$ glances -v
Glances version 1.5

Puis de lancer Glances pour vérifier que les statistiques de votre machine s'affichent correctement:

$ glances

Les nouveautés de la version 1.5

Visuellement, les utilisateurs des anciennes versions ne seront pas perdus. On retrouve un découpage avec des statistiques essentielles en haut de l'écran (CPU, LOAD, MEM) avec une optimisation de l'espace. Puis sur la gauche des informations optionnelles comme le débit des interfaces réseau, les entrées/sorties disques et l'espace des différents points de montage (maintenant avec un affichage optimisé pour tenir compte des noms longs). Sur la droite, on a la possibilité de voir le détail des processus (avec par défaut un classement automatique et dynamique selon l'état de la machine). Enfin en bas de l'écran, le log des dernières alertes que l'on peut nettoyer avec les touches 'w' pour supprimer uniquement les Warning et 'x' pour supprimer toutes les alertes finies).

La touche 'h' permet toujours d'afficher l'aide en ligne avec la liste des touches disponibles.

La liste complète des changements par rapport à la dernière version est disponible dans le fichier ChangeLog.

Focus sur le mode client / serveur

C'est la grosse nouveauté de cette version. La mise à disposition pour les utilisateurs d'un mode client /serveur permettant à partir d'un Glances client d'afficher les statistiques d'un Glances serveur. On peut ainsi à partir d'un client GNU/Linux surveiller une autre machine GNU/Linux ou même, idée folle, une machine Windows.

Quand Glances est lancé en mode serveur, il créé un serveur XMLRPC en écoute sur le port TCP/61209 (ce port est bien sur configurable). Quand un client se connecte, il met à jour les statistiques avec un système de cache pour éviter de surcharger la machine puis il envoie les statistiques au client qui se charge de l'affichage et de la gestion des alertes. Il est bien sûr possible d'avoir plusieurs clients différents connectés sur un même serveur.

Pour lancer Glances en mode serveur, il suffit d'utiliser l'option -s:

server$ glances -s
Glances server is running on 0.0.0.0:61209

On lance ensuite le client sur une autre machine avec l'option -c:

client$ glances -c server
Si tout se passe bien, vous devriez avoir les statistiques du serveur qui s'affiche sur l'écran de votre client. Pour vérifier que la connexion entre le client et le serveur fonctionne correctement, j'ai mis en place un indicateur en bas à gauche de l'écran:

Ce dernier passe change en cas de problème de connexion:

Et Windows ?

Comme je l'ai noté en introduction, la version server de Glances fonctionne sous Windows (moyennant l'installation de Python et de PsUtil). Je dois avouer que je n'ai pas testé à fond la compatibilité de Glances sur cet OS. Au démarrage, Glances vérifie si il est lancé sur une plate-forme Windows. Si c'est le cas, il se lancera automatiquement en mode serveur (sans avoir à mettre le flag -s).

Je suis preneur de tout retour sur le sujet et si une âme généreuse veut bien s'occuper de maintenir un binaire "all inclusive" pour Windows 32 bits et 64 bits, cela serait vraiment bien ! (c'est assez facile à faire avec outil comme PyInstaller).

Partager ce billet