Glances, l’outil de supervision système passe en version 1.5

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud, baud123 et Xavier Teyssier. Modéré par Benoît Sibaud. Licence CC By‑SA.
32
9
nov.
2012
Supervision

Glances est un outil de supervision système utilisant une interface texte (curses). Il est développé en langage Python, utilise la bibliothèque PsUtil pour la collecte des données, et est fourni sous licence LGPL. La dernière version (1.5) propose de nombreuses améliorations et notamment un mode client‐serveur permettant de surveiller à distance une machine. Glances permet de surveiller des machines GNU/Linux, BSD, Mac OS X et même Windows (mais uniquement en mode serveur).

En plus des classiques statistiques, comme le pourcentage d’utilisation des processeurs, la charge de la machine et la consommation mémoire, Glances permet également de surveiller le débit des interfaces réseaux, les entrées‐sorties disques, l’espace disque disponible sur les points de montage et le détail des processus.

L’objectif principal de cet outil pour les administrateurs système est de disposer de manière claire et rapide de l’ensemble de ces informations dans un(e) unique console/terminal.

Quelques captures d’écran de la version Glances 1.5 :

  • dans une console :
    Titre de l'image

    • dans un terminal : Titre de l'image
  • en mode client‐serveur (noter l’indicateur de connexion en bas à gauche de l'écran) :
    Titre de l'image

Aller plus loin

  • # nmon ?

    Posté par  (site web personnel) . Évalué à 1.

    Cela me fait un peu penser à nmon comme outil ? (qui peut écrire ces informations dans un fichier pour analyse ce qui ne semble pas être le cas de cet outil)
    Quelles différences ?

    • [^] # Re: nmon ?

      Posté par  . Évalué à 2.

      je viens de tester.

      Glances permet l'export dans 2 formats : html ou csv. La commande qui permet de le faire est:

      glances -o html -f ~/glancesresult.html
      
      glances -o csv -f ~/glancesresult.csv
      
      

      l'export au format html nécessite la bibliothèque python jinja2. Perso, j'ai pas réussit à faire l'export ni en html, ni en csv:

        Traceback (most recent call last):
        File "/usr/local/bin/glances", line 9, in <module>
          load_entry_point('Glances==1.5.1', 'console_scripts', 'glances')()
        File "/usr/local/lib/python2.7/dist-packages/Glances-1.5.1-py2.7.egg/glances/glances.py", line 2679, in main
          refresh_time=refresh_time)
        File "/usr/local/lib/python2.7/dist-packages/Glances-1.5.1-py2.7.egg/glances/glances.py", line 2092, in __init__
          environment = jinja2.Environment(
      NameError: global name 'jinja2' is not defined
      
      
         Traceback (most recent call last):
        File "/usr/local/bin/glances", line 9, in <module>
          load_entry_point('Glances==1.5.1', 'console_scripts', 'glances')()
        File "/usr/local/lib/python2.7/dist-packages/Glances-1.5.1-py2.7.egg/glances/glances.py", line 2684, in main
          refresh_time=refresh_time)
        File "/usr/local/lib/python2.7/dist-packages/Glances-1.5.1-py2.7.egg/glances/glances.py", line 2228, in __init__
          self.__csvfile = csv.writer(self.__cvsfile_fd)
      NameError: global name 'csv' is not defined
      
      
      • [^] # Re: nmon ?

        Posté par  (site web personnel) . Évalué à 2.

        Je crois qu'un correctif a été publié par l'auteur. Version 1.5.1.

        • [^] # Re: nmon ?

          Posté par  . Évalué à 1.

          heu, celui que j'ai testé (comme on peut le voir dans le retour de l'erreur) est la 1.5.1-3.

      • [^] # Re: nmon ?

        Posté par  . Évalué à 1.

        ben la il te manque le module jinja2 pour python apparemment (pip install jinja2)

        mais il y a un autre petit bug dans le fichier glances.py (version git dans la classe glancesHTML)

        remplacer :

        environment = jinja2.Environment(loader=jinja2.FileSystemLoader(self.root_path + 'html'), extensions=['jinja2.ext.loopcontrols'])
        
        

        par :

        environment = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__) + '/html'), extensions=['jinja2.ext.loopcontrols'])
        
        

        self.root_path étant le chemin ou va être placé le fichier html pas le chemin du template

        • [^] # Re: nmon ?

          Posté par  . Évalué à 1.

          pour info, jinja2 était déjà installé, sinon le trace m'aurait envoyé un autre type de message.

          Le changement du root_path a fonctionné, l'export se fait bien. Par contre, je m'étais planté: il faut spécifier uniquement le répertoire de destination, et non un fichier html, car glances ecrit lui-même un glance.html

          glances.py", line 2201, in update
          f = open(self.root_path + 'glances.html', 'w')
          
          
          • [^] # Re: nmon ?

            Posté par  . Évalué à 1.

            j'ai soumis le patch et il est intégré dans le dépôt github. Donc plus de problèmes à partir de la version git d'hier.

          • [^] # Re: nmon ?

            Posté par  . Évalué à 2.

            Tiens ça c'est bien dommage. Ça veut dire qu'il faut s'appliquer à faire des mv si on veut garder un historique des info ou que l'on écris sur un répertoire partagé par plusieurs machines ayant chacune leur instance de glances.

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: nmon ?

      Posté par  . Évalué à 2.

      glances communique en mode client serveur via le protocole XMLRPC. Rien n’empêche donc de faire un cron qui va faire l'export en csv ou en html via curl par exemple

      • [^] # Re: nmon ?

        Posté par  (site web personnel) . Évalué à 3.

        Les interfaces curl, c'est très efficace mais ce n'est pas très convivial. Une interface html ou Qt serait quand même beaucoup plus facile à "vendre" à un DSI. Je pense que le choix de l'interface (curl/html/Qt) devrait être inclus dans le projet.

        • [^] # Re: nmon ?

          Posté par  (site web personnel) . Évalué à 0.

          Les interfaces curl, c'est très efficace mais ce n'est pas très convivial. Une interface html ou Qt serait quand même beaucoup plus facile à "vendre" à un DSI. Je pense que le choix de l'interface (curl/html/Qt) devrait être inclus dans le projet.

          C'est même sûr et certain. Après, il faut voir si l'auteur du projet peut s'y attaquer, ou si un développeur tierce doit s'y coller.

        • [^] # Re: nmon ?

          Posté par  . Évalué à 1.

          pour le html c'est déjà le cas (voir plus haut) pour le qt, je ne vois pas l’intérêt car il existe déjà des outils similaires (sous GNU/linux ou sous l'os dont je ne peux citer le nom). Glances répond à une problématique précise (garder un oeil sur l'état de santé du système d'ou que l'on soit et par différent medium (html, console, ssh). l'utilisation d'XMLRPC apporte l'interopérabilité avec des systèmes tierces et rien n'empêche de créer un écosystème autour (par exemple interaction avec nagios/shinken/zabbix). J'aime glances tel qu'il est (simple, rapide et ouvert).

          • [^] # Re: nmon ?

            Posté par  . Évalué à 2.

            Je pense que glances est vraiment fait pour être simple assez loin des grosses solutions comme nagio, shinken et autres.

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # HP-UX glance?

    Posté par  (site web personnel) . Évalué à 3.

    Ça me fait penser à glance+ pour HP-UX (sapuspalibre). Bon idée un outil simple qui rassemble plein d'infos.

    • [^] # Re: HP-UX glance?

      Posté par  . Évalué à 3.

      A chaque news sur son outil, il y a quelqu'un pour rappeler qu'il a prit le nom d'un outil existant, se trouvant dans la même catégorie (en plus). Comme quoi ça doit gêner un peu d'avoir piqué le même nom.

      A noter aussi que glance (l'historique hp-ux) est capable de donner des détails sur les processus qui tournent en machine. Dommage qu'il ne soit pas libre et hp-ux centric.

  • # Paquet Debian

    Posté par  (site web personnel) . Évalué à 3.

    Un paquet Debian pour cette version est en travail.
    N'hésitez pas à l'essayer et faire des retours.
    La version 1.4.2 est déjà dans les dépôts officiels pour unstable/sid.

    k.

    [0] http://git.kaliko.me/?p=glances.git
    [1] http://kaliko.me/media/glances_1.5.1-1_all.deb

    • [^] # Re: Paquet Debian

      Posté par  . Évalué à 4.

      C'est dommage le paquet demande python en version 2.6.6-7 et la version de debian stable est 2.6.6-3. Je doute qu'il y ai des masses d'incompatibilité entre les deux).

      Par contre je viens de voir qu'il dépend aussi de python-psutil en version 0.4.1 alors que la version de debian stable est 0.1.3-1, je ne sais pas s'il y a des incompatibilité entre ces deux versions.

      C'est dommage parce que c'est un logiciel qui sera installé sur des serveurs qui ont plutôt tendances à être sous Debian Stable.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: Paquet Debian

        Posté par  (site web personnel) . Évalué à 1.

        En effet, pour faire tourner glances sur Debian stable il faudrait repasser sur une ancienne version de glances (<1.4), celles ci fonctionnaient avec python-statgrab.

        Merci pour ton retour :)

Suivre le flux des commentaires

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