Glances version 2.0 est là
Date: 16/06/2014 | Catégories: Open-source,Planet-libre,Systeme | Tags: 2.0,glances
Après plusieurs mois de travail, la nouvelle version majeure de Glances vient d'être publié. L'objectif de ce billet est de faire une rapide présentation des nouveautés, un article plus complet est disponible sur LinuxFR.
Pour ceux d'entre vous qui ne connaissent pas encore Glances, c'est un logiciel permettant de superviser le plus simplement possible ses machines en disposant sur une seule et unique page (terminal ou interface Web) les informations importantes (CPU, mémoire, charge, processus...).
Il peut être utilisé dans des configurations différentes:
- standalone: superviser la machine sur laquelle on se trouve à partir d'une interface Curse
- client/serveur: superviser une machine distante à partir d'une interface Curse
- serveur Web: superviser une machine distante à partir d'un navigateur Internet
- API: accès aux statistique via une API XML/RPC
Comment installer cette nouvelle version ?
Le plus simple est de passer par le gestionnaire de paquet de Python (PiPy).
Pour une installation complète avec toutes les dépendances:
sudo pip install glances pysnmp bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz
Note: selon votre configuration, il est peut être nécessaire d'installer certains pré-requis avant de faire cette installation. Par exemple sur un système Debian/Ubuntu:
sudo apt-get install -y python-dev python-pip lm-sensors
Pour la mise à jour d'une version existante et l'installation des dépendances:
sudo pip install pysnmp bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz sudo pip install --upgrade glances
Les nouveautés...
Au niveau du code
La plus grande nouveauté n'est pas visible car c'est un refactoring complet du code avec notamment l'utilisation d'un système de plugins. Toutes les statistiques collectées par Glances sont des plugins. Le principal avantage de cette architecture est une rapidité de développement accrue pour les nouvelles fonctionnalités par rapport à la version précédente. Chaque plugin hérite de méthodes communes permettant de factoriser le code.
Cette version a été développée en suivant le workfow Git Flow et les prochains correctifs et nouvelles fonctions devront respecter ce processus (j'ai ajouté une page sur le sujet dans le Wiki).
Interface Curse
L'interface standalone a été optimisée pour afficher le maximum d'informations de la manière la plus lisible et dans un minimum d'espace. L'objectif principal et le but de Glance étant que le problème de performance d'une machine saute aux yeux.
Interface Web
A la suite de pas mal de demandes, Glances v2.0 intègre maintenant un mode serveur Web qui permet d'accéder simplement au statistique depuis n'importe quel navigateur Internet à travers une page HTML5/CSS3 (plus ou moins "Responsive Web Design" mais je suis pas un pro sur le sujet).
Pour lancer le mode serveur Web:
# glances -w Bottle v0.12.7 server starting up (using WSGIRefServer())... Listening on http://0.0.0.0:61208/ Hit Ctrl-C to quit.
Par exemple sur ma tablette Nexus 5, cela donne cela:
Le mode fallback SNMP
Dans le cas ou il n'est pas possible de lancer un serveur Glances sur une machine (problème de droit ou "appliance"), il est maintenant possible d'accéder à certaines statistiques via le protocole SNMP (limitation actuelle au mode SNMP v2/2c).
Quand vous lancez Glances en mode client, il va d'abord essayer de détecter un serveur Glances puis essayer le protocole SNMP:
# glances -c localhost Info: Connection to Glances server failed. Trying fallback to SNMP...
C'est pour l'instant une fonction expérimentale qui ne fonctionne pas avec tous les agents SNMP. Des évolutions sont prévues dans les prochaines version et je suis à la recherche de contributeurs sur ce point (notamment pour un accès aux statistiques des machines Cisco et autres équipementiers réseau).
Amélioration du fichier de configuration
Si vous utilisiez un fichier de configuration (notamment pour fixer vos propres limites au niveau des statistiques), il va falloir l'adapter pour cette nouvelle version. Un fichier par défaut se trouve sous GNU/Linux dans /etc/glances/glances.conf. Je vous conseille de vous inspirer de ce fichier: https://github.com/nicolargo/glances/blob/master/conf/glances-monitor.conf.
Conclusion
En attendant que vous lisiez le billet sur LinuxFr, j'espère que cette mise en bouche vous a convaincu d'essayer cette nouvelle version.
J'attends vos avis avec impatiente !