Les nouveautés de Glances 2.8

62
21
jan.
2017
Administration système

Au moment de la lecture de cette dépêche, Glances 2.8 sera disponible à l’installation depuis Pypi. Nous allons donc faire le tour complet du propriétaire en mettant l’accent sur les nouveautés importantes de cette version.

Sommaire

Capture Glances

Aperçu général de l’interface

Pour ceux qui ne connaissent pas encore Glances, c’est un logiciel libre multi‐plate‐forme permettant de superviser son système d’exploitation ou un système distant à partir d’une interface en une seule vue — d’où son nom, glance signifiant coup d’œil en anglais. Cette interface est disponible en mode console/terminal ou via une interface Web ou mobile.

Glances 2.8

Les développeurs ne sont pas oubliés, car ils disposent d’interfaces XML/RPC et HTTP/RESTful pour récupérer les statistiques système dans d’autres applications.

Enfin, les administrateurs système pourront également exporter ces statistiques à long terme vers tout un tas de formats et de bases de données.

Nouveau greffon pour superviser les processeurs graphiques NVIDIA

C’est une des plus anciennes demandes d’amélioration de Glances : la possibilité de surveiller les processeurs graphiques. Un nouveau greffon voit donc le jour dans cette version, mais avec certaines limitations. En effet, cette première version du greffon pour processeur graphique permet uniquement de surveiller la consommation processeur et mémoire des processeurs graphiques NVIDIA.

Pourquoi cela ? Parce qu’il n’y a, à ma connaissance, aucune bibliothèque permettant de récupérer de manière transparente les statistiques des processeurs graphiques NVIDIA, AMD et Intel. Un contributeur a donc décidé de prendre le taureau par les cornes en commençant par les processeurs graphiques NVIDIA qui disposaient d’une bibliothèque Python (nvidia-ml-py, à installer sur votre système pour bénéficier du greffon pour Glances).

  • Vue en moyenne ou mono‐processeur graphique : GPU

  • Vue multi‐processeur graphique : MEANGPU

Les prochaines versions de Glances amélioreront ce greffon avec la prise en charge d’autres marques de processeurs graphiques et des statistiques supplémentaires (comme les entrées‐sorties).

Amélioration du greffon Dockers

DOCKER
En plus de la prise en charge de la version 2.0 de l’API Docker, Glances 2.8 permet de fixer des seuils d’alerte de manière globale ou par conteneur. Ainsi, il est possible de superviser la consomation processeur d'un conteneur nommé foo en utilisant la syntaxe suivante dans le fichier de configuration de Glances :

[docker]
# Thresthold for CPU (in %)
foo_cpu_careful=70
foo_cpu_warning=80
foo_cpu_critical=90

Il est également possible de déclencher une action si un seuil est dépassé :

[docker]
foo_cpu_critical_action=echo {{Image}} {{Id}} {{cpu}} > /tmp/container_{{name}}.alert

Note : dans l’environnement de Glances, une action est une ligne de commande dans laquelle on peut utiliser certaines variables internes issues de l’API à travers les moustaches {{}}.

Le greffon réseau permet de surveiller la qualité du signal Wi‐Fi

Si votre machine dispose d'une interface Wi‐Fi, ce nouveau greffon est fait pour vous. Il permet en effet de superviser la qualité des signaux Wi‐Fi.

Il s’intègre juste en dessous du greffon réseau :
WIFI

En ce qui concerne le greffon réseau, il permet désormais de fixer des seuils manuellement (via le fichier de configuration) ou automatiquement (en fonction de la vitesse des interfaces réseau).

De nouveaux modules d’exportation

ZeroMQ et CouchDB viennent s’ajouter à la liste des cibles disponibles pour le module d’exportation des statistiques.

Pour cette version, cette liste est donc la suivante : CSV, InfluxDB, Cassandra, CouchDB, OpenTSDB, StatsD, ElasticSearch, RabbitMQ/ActiveMQ, ZeroMQ et Riemann.

Optimisation de la consommation processeur de l’interface Web

Enfin, il est maintenant possible de définir le nombre maximum de processus à afficher dans l’interface Web. Cela réduit de manière importante la consommation processeur du navigateur faisant tourner l’interface de Glances.

Pour définir le nombre de processus (30 par défaut), il suffit de définir la section suivante dans le fichier de configuration :

[outputs]
# Limit the number of processes to display in the WebUI
max_processes_display=30

Avec 30 processus, on réduit la consommation de 75 %.

Et son lot d’améliorations et de corrections de bogues

  • Not compatible with the new Docker API 2.0 (Docker 1.13) (issue #1000) ;
  • Highlight the top CPU and MEM process consumer (issue #878) ;
  • Glances API returns the processes PPID (issue #926) ;
  • Configure server cached time from the command line --cached-time (issue #901) ;
  • Make the log logger configurable (issue #900) ;
  • System uptime in export (issue #890) ;
  • Refactor the --disable-* options (issue #948) ;
  • PID column too small if kernel.pid_max is > 99999 (issue #959) ;
  • Glances RAID plugin Traceback (issue #927) ;
  • Default AMP crashes when command given (issue #933) ;
  • Default AMP ignores enable setting (issue #932) ;
  • /proc/interrupts not found in an OpenVZ container (issue #947).

Appel à contributeurs

Je tiens à remercier personnellement tous les contributeurs.

Nous recherchons des personnes motivées pour faire évoluer le projet :

  • développeur Python confirmé ;
  • développeur JavaScript maîtrisant AngularJS pour l’interface Web ;
  • des testeurs, notamment dans les environnements Windows et Mac OS X.
  • # découverte totale

    Posté par . Évalué à 5.

    Merci pour la dépêche qui donne envie :P

    J'ai voulu checker et n'ai pas trouvé d'application android, est-ce prévu au programme? :) (avec par exemple un widget qui devient rouge quand un serveur flanche)

    Glance permet-il de garder un œil sur plusieurs machines depuis la même fenêtre ou il faut en ouvrir une par serveur?

    Peut-on aussi effectuer des actions ou seulement superviser?

    Surveille-t-il des fichiers/dossiers critiques (afin par exemple de détecter un rootkit qui modifie un fichier comme /etc/passwd)

    • [^] # Re: découverte totale

      Posté par (page perso) . Évalué à 7.

      Bonjour,

      1) il n'y a pas d'application Android. Cependant il est possible de lancer Glances en mode "serveur Web" (option -w) et d'accéder à l'interface "responsive" via le navigateur Web d'Android.

      Android Web UI

      2) oui Glances peut superviser plusieurs serveurs en même temps avec le mode "central client". Voir la documentation sur cette page

      3) il est possible de lancer des actions (des lignes de commandes avec accès à certaines données de l'API) sur dépassement de seuil. Voir la doc là

      4) il y a un plugin "Folder" qui permet de surveille la taille d'un répertoire donnée (voir ici). Par contre pour lancer un outil de détection de rootkit sur un endroit donnée, le plus simple est d'utiliser les AMPs (Application Monitoring Process)

      Bienvenu dans Glances !

      • [^] # Re: découverte totale

        Posté par . Évalué à 4.

        Découverte pour moi aussi. Ça a l'air super complet (je compare à htop… qui est déjà plus sympa que top).

        Petites questions (version 2.7, Debian Jessie) :

        Le résumé CPU indique autour de 30% d'utilisation user et 2 à 3% d'utilisation system mais dans la liste des tâches, firefox-esr se balade entre 50 et 60%. J'ai l'impression que c'est parce que j'ai 2 CPU dans ma VM et la valeur du résumé CPU est une moyenne alors que la valeur dans la liste des tâches est une somme. C'est ça ?

        Quand j'appuie sur la flèche "haut", ça m'affiche une ligne "Dropbox 0 No running process". Si j'appuie à nouveau, ça disparaît (ça "toggle", donc). Je vois pas pourquoi.

        • [^] # Re: découverte totale

          Posté par (page perso) . Évalué à 3.

          Pour la charge CPU au niveau process c'est exactement cela. Il est possible de passer en mode IRIX (voir détail ici) en cliquant sur la touche '0' (zero).

          Le fait d'appuyer sur la touche HAUT active ou désactive le plugin AMP. Tu dois donc avoir une section pour superviser Dropbox dans ton fichier de configuration (glances.conf).

          • [^] # Re: découverte totale

            Posté par . Évalué à 2.

            Pour la charge CPU au niveau process c'est exactement cela. Il est possible de passer en mode IRIX (voir détail ici) en cliquant sur la touche '0' (zero).

            OK, merci.

            Le fait d'appuyer sur la touche HAUT active ou désactive le plugin AMP. Tu dois donc avoir une section pour superviser Dropbox dans ton fichier de configuration (glances.conf).

            Merci pour l'info. Je vois pas pourquoi j'ai ça. J'ai pas de fichier de conf utilisateur et dans le fichier système (/etc/glances/glances.conf), la config dropbox a enable à false. Mais bon, c'est pas grave, et peut-être que c'est un problème Debian.

  • # question mode serveur web

    Posté par . Évalué à 1.

    Comment faire pour utiliser en version web si on a déjà apache ou nginx d'installer ?

    car quand je fait glances -w ils ne veux pas et quand je fait glances -s il me donne 0.0.0.0:(me souviens plus du port)

    sinon fonctionne nickel, juste un package qui pose problème a l'install "casandra driver"

    • [^] # Re: question mode serveur web

      Posté par . Évalué à 2.

      Salut,

      normalement en mode serveur il tourne sur un port > 1024 (61208 chez moi), donc a priori pas de concurrence avec Apache/Nginx.

      Par contre il te faut bottle (pip install bottle).

      • [^] # Re: question mode serveur web

        Posté par . Évalué à 0.

        Merci avec pip install bottle ça fonctionne, par contre je m'aperçois que'il me donne l'ip 0.0.0.0:61208 au lieu de me donnée mon ip int/pub/host, mais bon ça fonctionne. J'ai remarquer qu'en https ça ne passe pas (mon browser étant configuré ainsi, faut que je le désactive rien de graves) une idée ?

        message d'erreur en https : X.X.X.X - - [23/Jan/2017 21:58:05] code 400, message Bad request syntax ('\x16\x03\x01\x00\xba\x01\x00\x00\xb6\x03\x03\xfc\xb0\x84:\xf5\xaa\x8a7')

  • # Centralisation

    Posté par . Évalué à 1.

    Bonjour,

    Projet intéressant que je découvre.

    Un peu lourd à déployer sur un parc car nécessitant une install Phyton et autres joyeusetés.

    Existe t il une centralisation des toutes les machines équipées vers un point de consultation unique ?
    Je n'ai pas vu de système d'alerte non plus.

    Bon après l'usage qui m'intéresse serait plutôt une "version légère" d'un outil de monitoring style Zabbix.

    Beau projet malgré tout.
    Philippe.

    • [^] # Re: Centralisation

      Posté par (page perso) . Évalué à 4.

      Un peu lourd à déployer sur un parc car nécessitant une install Phyton et autres joyeusetés.

      python est la plupart du temps déjà installé, non ? Bon, ça peut dépendre de la distro sur ton parc.
      Sur une Mageia 5, et pour glances 2.0.5, c'est 9 Mo qui sont ajoutés (et 2 Mo de paquets téléchargés) :

      # urpmi glances
      Pour satisfaire les dépendances, les paquetages suivants vont être installés :
        Paquetage                      Version      Révision      Arch    
      (média « Core Release (distrib1) »)
        glances                        2.0          5.mga5        noarch  
        net-snmp                       5.7.2        23.mga5       x86_64  (recommandé)
        net-snmp-mibs                  5.7.2        23.mga5       x86_64  (recommandé)
        net-snmp-utils                 5.7.2        23.mga5       x86_64  (recommandé)
        perl-NetSNMP                   5.7.2        23.mga5       x86_64  (recommandé)
        python3-batinfo                0.1.8        4.mga5        noarch  (recommandé)
        python3-bottle                 0.12.7       4.mga5        noarch  (recommandé)
        python3-psutil                 2.0.0        5.mga5        x86_64  
        python3-pycrypto               2.6.1        6.mga5        x86_64  (recommandé)
        python3-pysnmp                 4.2.5        4.mga5        noarch  (recommandé)
        python3-sensors                0.0.2        1.hg0cf96f4e> noarch  (recommandé)
      (média « Core Updates (distrib3) »)
        python3-pyasn1                 0.1.8        1.mga5        noarch  (recommandé)
      un espace additionnel de 9Mo sera utilisé.
      2Mo de paquets seront récupérés.

      ça le fait, non ?

      Note HS : j'ai bien python3-batinfo d'installé (pas de paquet batinfo trouvé, j'ai bien acpi d'installé) mais pas d'info sur la batterie d'affichée pour mon laptop :/

      • [^] # Re: Centralisation

        Posté par . Évalué à -1.

        ça le fait en effet.
        Mais je pensais en écrivant ça plus aux serveurs Win…. qui composent aussi mon parc.

        Merci, il va falloir que je teste je crois pour me conforter dans mon idée :)

        Beau boulot, merci.

        • [^] # Re: Centralisation

          Posté par (page perso) . Évalué à 6.

          Mais je pensais en écrivant ça plus aux serveurs Win…. qui composent aussi mon parc.

          Si tu as des serveurs sous Windows, à moins que ce soit Windows 95, un runtime Python ne peut pas être ton principal souci au niveau espace disque.

          • [^] # Re: Centralisation

            Posté par (page perso) . Évalué à 0.

            un runtime Python ne peut pas être ton principal souci au niveau espace disque.

            c'est clair que le répertoire winxs qui te pourrit ton espace disque, tout simplement parce que le « library hell  » (les DLLs toutes plus incompatibles les unes avec les autres, ce qui génère un écran bleu ou vert il paraît) bin c'est pas la joie. Sous Win10 je ne sais pas si c'est mieux ?
            Au final, une conception pourrite, qui aboutit à un contournement pourrite « j'ai la bibliothèqueWDLL dont tout logiciel a besoin, j'ai tout gardé » ça le fait (le disque ne coûte pas cher…), mais je suis sûrement mauvaise langue :/

            un jour, ouinouin aura un gestionnaire de paquets digne de ce nom (non, SCCM n'est pas encore complètement à niveau, même si ça fait le taf', mais à quel prix ?).

            je n'en dis pas plus :'-)

            • [^] # Re: Centralisation

              Posté par . Évalué à 5.

              Le DLL Hell est résolu depuis 2001… C'est à dire en deux phases :
              - Le .NET Framework dont l'un des buts principaux était d'éviter ce problème :
              -> Simplification du déploiement et élimination du DLL Hell avec le .Net Framework
              -> Redirecting Assembly Versions
              - Mais évidemment tout le monde n'allait pas ré-écrire son appli en .NET (pas possible de toutes façons), donc à partir de Windows ME le dossier WinSxS fut mis en place.

              Au final, une conception pourrite

              On dit "pourrie". Et non, elle n'est pas pourrie, mais pragmatique.

              Et elle marche, j'ai plein de vieux jeux prévus pour Windows 95 qui fonctionnent tel quel sous Windows 10. Les distributions Linux ne peuvent pas en dire autant. :D

              dont tout logiciel a besoin, j'ai tout gardé » ça le fait (le disque ne coûte pas cher…),

              Il ne faut pas vraiment se fier à ce que dit l'explorateur quant à la taille du dossier WinSxS :

              C:\windows\system32>Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

              Outil Gestion et maintenance des images de déploiement
              Version : 10.0.14393.0

              Version de l’image : 10.0.14393.0

              [===========================99.5%========================= ]

              Informations sur le magasin de composants (WinSxS) :

              L’Explorateur Windows a signalé la taille du magasin de composants. : 6.65 GB

              Taille réelle du magasin de composants : 6.61 GB

              Partagé avec Windows : 5.65 GB
              Sauvegardes et fonctionnalités désactivées : 809.85 MB
              Cache et données temporaires : 158.79 MB

              Date du dernier nettoyage : 2017-01-31 14:40:37

              Nombre de packages récupérables : 0
              Nettoyage du magasin de composants recommandé : Non

              L’opération a réussi.

              Sur un SSD premier prix (soit ~ 58 Go une fois formaté en NTFS), ça fait environ 10%.
              Sur un disque dur premier prix (500 Go - soit au doigt mouillé 496 Go une fois formaté), ça fait environ 1%

              Mais surtout c'est moins que la taille du moindre film de une heure 30 en DVD Video (soit même pas HD), soit environ 6 Go.

              Je dirais que c'est raisonnable pour éviter de se taper des machines virtuelles pour la moindre application un peu vieille. :D

              un jour, ouinouin aura un gestionnaire de paquets digne de ce nom

              Un jour, Linux aura une offre logicielle digne de ce nom (certes Wine fait le boulot, mais à quel prix ?).

              je n'en dis pas plus :'-)

              "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

              • [^] # Re: Centralisation

                Posté par (page perso) . Évalué à 4.

                Tu parles de 6 Go, mais souvent on trouve des machines avec un winsx de plus de 30 Go.
                Dernièrement j'ai vu un serveur Windows 2008 avec un winsx de 15 Go.
                Cela reste cependant faible par rapport aux bénéfices.

                • [^] # Re: Centralisation

                  Posté par (page perso) . Évalué à 4.

                  J'ai vérifié sur mon Win7 de 2012 mis-à-jour en 10 l'été dernier, l'explorateur me dit :

                  Taille : 21,9 Go
                  Taille sur le disque : 16,7 Go

                  La commande de xcomcmdr me sort :

                  Informations sur le magasin de composants (WinSxS) :
                  L’Explorateur Windows a signalé la taille du magasin de composants. : 4.14 GB
                  Taille réelle du magasin de composants : 4.11 GB

                  Partagé avec Windows : 3.22 GB
                  Sauvegardes et fonctionnalités désactivées : 648.61 MB
                  Cache et données temporaires : 244.19 MB

                  Je ne sais pas exactement à quoi correspondent les différents nombres (même si je me doute un peu) mais du coup est-ce que tu aurais pas loupé le fond de son commentaire avec ton histoire de WinSXS qui prend 30Go ?

                  • [^] # Re: Centralisation

                    Posté par . Évalué à 3.

                    Une rapide recherche google m'apprends que winsxs utilise beaucoup de hardlinks, et qu'Explorer compte les hard links à chaque fois qu'il en trouve un.
                    Donc en gros, oui, Explorer va reporter une taille farfelue.

                    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

    • [^] # Re: Centralisation

      Posté par . Évalué à 1.

      Je n'ai pas vu de système d'alerte non plus.

      Tu peux définir des actions : https://glances.readthedocs.io/en/latest/aoa/actions.html

  • # Erreur curieuse en client/serveur

    Posté par . Évalué à 4.

    Très amusant ce truc ! Et surtout une bonne excuse pour ressortir mon vieil eeePC 701 sous Debian en mode console uniquement : c'est la console glances idéale :)

    Alors je pourrais faire ssh sur mon serveur et lancer glances, mais c'est pas amusant, je préfère lancer "glances -s" sur le serveur puis "glances -c " sur ma console.

    Alors que glances marche très bien en local sur mon eeePC (l'installation est donc bonne), si je lance avec "-c " j'ai l'erreur python ImportError: No module named glances_monitor

    Une idée ?

  • # Mode non-interactif

    Posté par . Évalué à 1.

    Existe-t-il un mode non-interactif ?

    Je voudrais mettre Glances dans une console (TTY2 accessible avec Ctrl+Alt+). Est-ce une bonne idée?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.