URL: https://linuxfr.org/news/presentation-de-glances-1-7 Title: Présentation de Glances 1.7 Authors: nicolargo NeoX, ZeroHeure, palm123 et Pierre Jarillon Date: 2013年08月10日T17:15:25+02:00 License: CC By-SA Tags: monitoring, glances, system, supervision et console Score: 28 Glances est un logiciel de supervision permettant à partir d'une console ou d'une connexion SSH de visualiser sur un seul écran l'ensemble des statistiques du système et ainsi d'investiguer les éventuels problèmes. Développé en Python et utilisant des librairies multi-système il peut être utilisé sous GNU/Linux, BSD, Mac OS et Windows. Glances peut fonctionner en mode console ou client/serveur. La version 1.7 de Glances vient de voir le jour sur le dépôt officiel. En plus des habituelles corrections de bug et améliorations de forme, elle apporte son lot de nouveautés: * Liste de processus importants à surveiller (Monitored Processes List) * Supervision de la température des disques * Information sur l'état de charge de la batterie * Désactivation possible des statistiques des processus * Ajout de fonctions de lancement (per-cpu) * Support de l'IPv6 pour le mode client/serveur Glances est disponible sur [le gestionnaire de paquets Python Pypi](https://pypi.python.org/pypi/Glances). ---- [Site officiel](http://nicolargo.github.io/glances/) [Installation et mise à jour via Pypi](https://pypi.python.org/pypi/Glances) [Présentation détaillé des nouveautés de la 1.7](http://blog.nicolargo.com/2013/08/presentation-des-nouveautes-de-glances-1-7.html) ---- ![Titre de l'image](http://blog.nicolargo.com/wp-content/uploads/2013/08/screenshot.png) # Un peu d'histoire Pour ceux qui découvrent Glances, c'est un projet que j'ai lancé il y a maintenant 2 ans pour pallier un manque dans les outils de supervision système. En effet, j'utilisais tout un tas de logiciels (netstat, top, ntop, ifstat, dstat...) pour investiguer les éventuels problèmes de performance sur un système d'exploitation. Mais aucun ne présentait une visualisation simple (via un terminal par une connexion SSH) et rapide (sur un seul écran) des statistiques nécessaires. Glances était née. # Monitored processes list L'objectif qui se cache derrière cette nouvelle fonction est de pouvoir, en un clin d’œil, voir l'état d'un ensemble de processus regroupés ensemble sous une même thématique. Par exemple, sur un machine hébergeant un serveur Web dynamique, la supervision des processus "importants" peut se découper de la manière suivante : * Serveur de caching des pages : processus Varnish * Serveur Nginx : processus NGinx * Serveur PHP : processus PHP-FPM * Serveur de caching des objets : processus Memcached * Serveur de base de données : processus MySQL On a donc 5 objets à superviser. Dans Glances, la définition de ces objets est faite via le fichier de configuration glances.conf. Chaque objet est défini par : * _description_ : description des processus (au maximum 16 caractères, exemple : Serveur Web Nginx) * _regex_ : expression régulière permettant de regrouper les processus dans l'objet (exemple: .*nginx.*) et optionnellement par : * _command_ : chemin complet vers un script qui sera exécuté par Glances à chaque rafraîchissement (donc toutes les 3 secondes par défaut) et qui devra retourner une chaîne de caractère d'une seule et unique ligne contenant des informations utiles pour cet objet. Attention à ne pas utiliser un script trop consommateur de ressources ou bien augmenter le temps de rafraîchissement (option -t ) * _countmin_ : nombre minimal de processus attendus. Un message de warning sera affiché si le nombre de processus passe en dessous de cette valeur. * _countmax_ : nombre maximal de processus attendus. Un message de warning sera affiché si le nombre de processus passe en dessus de cette valeur. Ainsi, la configuration de l'objet n°1 (on peut définir jusqu'à 10 objets) correspondant au serveur Web Nginx est donc la suivante: ``` [monitor] list_1_description=Serveur Web Nginx list_1_regex=.*nginx.* list_1_command=nginx -v list_1_countmin=1 list_1_countmax=4 ``` La couleur détermine l'état de l'objet. Si le nombre de processus : * est compris entre _countmin_ et _countmax_ alors Glances affichera l'objet en vert (état OK) * est différent de 0 mais non compris entre _countmin_ et _countmax_ alors Glances affichera l'objet en orange (état WARNING) * est égal à 0 alors Glances affichera l'objet en rouge (état CRITICAL) Comme pour toutes les autres statistiques importantes de Glances, le changement des états est logué. En mode client/serveur la liste des items est définie au niveau serveur. Une nouvelle entrée dans l'API permet au client de récupérer la liste sur le serveur. # Supervision de la température des disques Sur certains systèmes, notamment les NAS, la température des disques est un critère important à surveiller. En partant de ce postulat, Mendel Gusmao a développé un module optionnel (activable en passant l'option -y au lancement de Glances) permettant d'aller récupérer la température des disques sur le daemon HDDTemp qui doit être lancé sur votre machine. Il est bien sûr possible de définir les seuils d'alertes dans la section [hddtemperature] du fichier de configuration de Glances. Les valeurs par défaut sont: CAREFUL=45 / WARNING = 52 / CRITICAL = 60 (en ° celcius). # Information sur l'état de charge de la batterie L'intégration de la librairie Batinfo permet à Glances d'afficher le pourcentage de capacité des batteries restante (en bas de l'écran au milieu du footer). Limitation: cette statistique est uniquement disponible sur les systèmes Linux. # Une option pour un Glances "low CPU" Le traitement de la liste comprenant les processus est un des facteurs principaux de la consommation CPU de Glances. Sur certains systèmes (notamment les nanos PC comme les Raspberry Pi), il est conseillé de réduire le taux de rafraîchissement des statistiques pour faire baisser cette consommation CPU. Cependant, si vous avez besoin d'un taux de rafraîchissement important sans avoir besoin du détail des processus alors l'option -r codée par J.Renner est faite pour vous. En lançant Glances avec l'option -r, vous allez désactiver tous les traitements des processus (liste dynamique, monitored process list...) et ainsi disposer d'un Glances faiblement consommateur de CPU. Sur ma machine de développement, l'utilisation de cette option fait passer la consommation CPU de 2.9% à 0.3%. # Détail CPU au lancement de Glances Une version précédente de Glances voyait apparaître une option (activable en appuyant sur la touche '1' dans Glances) permettant d'afficher le détail CPU par cœur et non plus globalement. Une nouvelle option sur la ligne de commande (-1) permet de lancer par défaut ce mode d'affichage. # IPv6 Enfin un vrai support IPv6 pour le mode client serveur de Glances. A tester simplement et localement avec: ``` glances -s -B ::0 ``` pour lancer le serveur en mode IPv6 avec un bind sur toutes les interfaces. Puis ensuite on lance le client sur le localhost IPv6: ``` glances -c ::1 ``` # Installation et mise à jour de Glances Si vous avez installé Glances via Pypi, une mise à jour peut se faire simplement via la ligne de commande: ``` sudo pip install --upgrade Glances ``` Pour une installation toute fraîche (pour les nouveaux venus ayant les droits root): ``` sudo pip install Glances ```

AltStyle によって変換されたページ (->オリジナル) /