Glances 1.6: Les nouveautés

Date: 28/01/2013 | Catégories: Open-source,Planet-libre,Systeme | Tags: ,,

Ce week-end, j'ai mis en ligne la dernière version de Glances. Cette version 1.6 apporte son lot de correction de bugs et de nouveautés que nous allons détailler dans ce billet.

On commence par un aperçu de l'interface de Glances 1.6 dans un terminal:

Glances 1.6

Mise en place d'un fichier de configuration

Jusqu'à la version précédente, il était impossible pour l'utilisateur de fixer lui même les limites déclenchant les alertes. La version 1.6 introduit donc un fichier de configuration permettant de répondre à ce besoin. Sur un système GNU/Linux, le fichier de configuration par défaut se trouve dans dans le répertoire /etc/glances et se  nomme glances.conf.

C'est un fichier au format texte de la forme: https://gist.github.com/4647457

Comme vous pouvez le voir il défini pour chaque section de statistique (CPU, LOAD, MEM...) les limites de type Careful (à surveiller), Warning (à traiter), Critical (à traiter en urgence). Les limites utilisées sont maintenant accessibles dans la fenêtre d'aide sous la forme d'un tableau:

capture_015

Je pense dans les prochaines versions utiliser ce même fichier pour configurer d'autres aspects de Glances, comme les couleurs ou l'emplacement des statistiques.

Amélioration du mode client/serveur

La version 1.5 de Glances introduisait un mode client/serveur basée sur XMLRPC pour surveiller à parti d'un client local une machine distante (GNU/Linux, BSD, MAC OS X et même Windows).

En rapport avec l'ajout d'un fichier de configuration, j'ai modifié le mode client/serveur  pour que le serveur envoie son jeu de limite au client. Ainsi, il est possible à partir d'une même machine cliente de superviser plusieurs serveurs ayant des limites différentes.

Autre nouveauté attendue par pas mal d'utilisateurs: l'ajout "d'un peu" de sécurité pour l'accès à un serveur Glances. J'ai ainsi ajouté le tag -P password (notez le P majuscule) permettant de définir un mot de passe à partager entre le client et le serveur. Ce n'est bien sûr pas une sécurité totale car le client de communication TCP/JSON n'est pas chiffré. Pour encore plus de sécurité le mieux est de passer par un tunnel SSH (il existe pas mal de tutos sur le sujet sur la toile).

Débits d'Entrées/Sorties (IO Rate) par processus

Lorsque que la taille de votre fenêtre le permet, Glances permet d'afficher les débits (en octets/seconde) des processus. Ainsi, si une alerte est détectée sur la valeur CPU iowait alors les processus seront automatiquement classé par débit d'entrée/sortie.

capture_012

Attention, ces valeurs sont uniquement accessible sous GNU/Linux et par un utilisateur disposant des droits administrateurs.

Modification de l'affichage par CPU

Lors de l'activation de l'affichage par CPU (touche '1') et si l'information est disponible sur votre système d'exploitation, alors Glances affiche les statistiques de CPU iowait en lieu et place de CPU nice:

capture_016

Cette information peut être utile si des processus perdent du temps lors des accès disques. C'est un indicateur trsè important pour la supervision des serveurs (lire le très bon billet de ScoutApp sur le sujet).

Amélioration de l'affichage du type de tri des processus

Je trouvais que l'affichage du type de tri sur les processus (automatique vs manuel) n'était pas clair. J'ai donc modifié celui-ci pour afficher clairement si:

on est en tri automatique ou manuel:

capture_018

capture_017

puis de voir quel est le critère de tri dans le colonne (souligné en mode automatique, en gras pour le mode manuel):

capture_020
capture_019

Mise à jour de l'API

Dernier point pour cette version, j'ai ajouté une nouvelle interface à l'API pour récupérer les limites du serveur via getAllLimits (méthode RCP).

Installation et mise à jour de Glances

Convaincu par cette nouvelle version ?

Il est donc temps de mettre à jour votre installation. Deux solutions:

  • attendre que les packets managers fassent leur boulot pour votre distribution favorite
  • lire la documentation officielle pour mettre à jour vous même votre Glances

J'attend vous retours 🙂

Quelques liens pour finir:

  • Toujours très pratique !
    Pour info le lien « star » ne fonctionne pas (404).

  • Pingback: Glances 1.6: Les nouveautés | evalentin | Scoop.it()

  • Excellente cette nouvelle version, de belles améliorations ! Félicitations

    PS: Autre nouveauté attendu(e) par (pas) mal d’utilisateur(s)

  • Pingback: Glances 1.6: Les nouveautés | vincentux_44 | Scoop.it()

  • Pingback: Glances évolue avec un fichier conf. Un top indispensable()

  • Bonjour,

    Est-il prévu en développement de rendre accessible Glances via serveur web?

    Pas un truc lourdingue avec base de donnée & Cie mais plus un truc du genre à la monit.

    Cela peut permettre de voir l’état de son serveur via un simple navigateur (avec une authentification style htaccess au préalable) sans pour autant ouvrir une session ssh ou autre.

  • Merci pour cette version 🙂

  • Pingback: Tunnel SSH pour chiffrer les données entre le serveur et le client Glances | GuiMouth Blog Note()

  • Pingback: Glances 1.6: Les nouveautés | Actualités de l'open source | Scoop.it()

  • Pingback: Visto nel Web – 64 « Ok, panico()

  • Bonjour Nicolargo,

    Comment activer directement l’affichage par CPU sans passer par la touche 1

    Merci

  • Autre question

    Comment fait-on pour afficher les infos par CPU sur notre page html glances

    Merci pour les infos

    Cordialement,

    • – Comment activer directement l’affichage par CPU sans passer par la touche 1 ?
      – Comment fait-on pour afficher les infos par CPU sur notre page html glances ?

      Ces deux chose ne sont pas possibles actuellement dans Glances. Si il y a un besoin fonctionnel, merci d’ouvrir une issue sur GitHub afin que je puisse l’inclure dans une prochaine release. => https://github.com/nicolargo/glances/issues/new

      Merci !

      • Merci Nicolargo,

        J’ai fait le nécessaire sur github.
        Par contre je voulais savoir si on pouvait lancer glances en mode démon.
        En effet, le cron/hourly de la commande suivante ne fonctionne pas :
        /usr/bin/pgrep /usr/local/bin/glances || /usr/local/bin/glances -t 5 -o HTML -f /var/www/default/glances

        En vous remerciant par avance

  • Pingback: Glances 1.6: Les nouveautés | Linux, FOSS and IT news | Scoop.it()

  • Bonjour,

    Jusqu’à maintenant tout allait bien y compris avec la version 1.6 béta mais quand je suis passé à la 1.6, l’accès réseau ne marche plus. Voici ce que ça me renvoie:

    load_entry_point(‘Glances==1.6’, ‘console_scripts’, ‘glances’)()
    File « /usr/local/lib/python2.7/dist-packages/Glances-1.6-py2.7.egg/glances/glances.py », line 3674, in main
    screen.update(stats, cs_status=server_status)
    File « /usr/local/lib/python2.7/dist-packages/Glances-1.6-py2.7.egg/glances/glances.py », line 1760, in update
    self.flush(stats, cs_status=cs_status)
    File « /usr/local/lib/python2.7/dist-packages/Glances-1.6-py2.7.egg/glances/glances.py », line 1748, in flush
    self.display(stats, cs_status=cs_status)
    File « /usr/local/lib/python2.7/dist-packages/Glances-1.6-py2.7.egg/glances/glances.py », line 1718, in display
    self.displayMem(stats.getMem(), stats.getMemSwap(), processlist, load_offset)
    File « /usr/local/lib/python2.7/dist-packages/Glances-1.6-py2.7.egg/glances/glances.py », line 2065, in displayMem
    format(self.__autoUnit(mem[‘active’]), ‘>5’), 5)
    KeyError: ‘active’

    Note que sur les deux machines c’est la version 1.6 avec psutils 0.6
    Merci de ton aide

  • Pingback: PHPGlances : une librairie PHP pour Glances()

  • Pingback: Glances évolue avec un fichier conf. Un top indispensable()