Glances, un outil de monitoring complet

Parmi les outils que j'utilise, je vais vous en présenter un nouveau, Glances.
Glances est un utilitaire de monitoring multiplateforme, qui vise à surveiller et présenter un grand nombre d'informations à l'écran, que ce soit dans une console ou par le biais d'une interface web. L'outil est responsive et permet d'afficher proprement les informations selon l'ordinateur/smartphone depuis lequel vous le consultez.
Cet outil open-source est développé en python par Nicolargo et les sources sont disponibles sur son github.

Glances - An Eye on your system
Glances is a cross-platform curses-based system monitoring tool written in Python.
  • Glances est multiplateforme, il peut être installé en tant que paquet sur les OS GNU/Linux, FreeBSD, OS X ainsi que Windows ou bien encore tourner dans un conteneur Docker.
  • Si jamais la machine sur laquelle vous l'installer n'a pas d'affichage, il est possible d'utiliser le serveur web intégré pour afficher les données depuis votre navigateur.
  • Glances dispose également d'une API depuis un outil client, vous permettant par exemple d'aggréger à un endroit unique les données de plusieurs machines.
  • Dernière fonctionnalité intéressante et importante à souligner, il vous sera possible d'exporter toutes les données statistiques de vos systèmes dans un fichier CSV ou vers des outils tels qu'InfluxDB, ElasticSearch ou RabbitMQ. Un dashboard spécifique Grafana est proposé par Glances.

Glances vous permet de surveiller toutes les données de votre système : le CPU, la mémoire, la charge système, l'uptime, les processus, les interfaces réseau, en passant par les disques (utilisation et I/O, RAID), Docker ...

Pour l'installer, plusieurs méthodes sont à votre disposition :

  • En téléchargeant en exécutant le script d'installation automatisé
curl -L https://bit.ly/glances | /bin/bash
  • En utilisant pip, l'utilitaire de gestion de paquets Python
pip install glances
  • En le lançant dans un conteneur Docker pour avoir la console
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it nicolargo/glances:latest-full
  • Ou le fichier docker-compose.yml suivant qui permet de lancer Glances avec le serveur web intégré
version: '3.9'
services:
  glances:
    image: nicolargo/glances:latest-full
    restart: always
    ports:
      - 61208:61208
    environment:
      GLANCES_OPT: "-w"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    pid: host

Dans le cas de l'utilisation avec le serveur web, vous pouvez vous connecter à l'interface depuis votre navigateur sur l'URL http://<IP.DE.VOTRE.MACHINE>:61208.

Vous pouvez voir dans les différentes captures le rendu, avec les informations affichées complètement ou synthétisées, selon selon la taille de l'écran utilisé.

Un fichier de configuration glances.conf peut être utilisé pour personnaliser les services surveillés ou bien envoyer automatiquement les données surveillées vers un outil d'analyse plus complet, qui permettra notamment d'historiser ces données.

Le détail, l'utilisation et la configuration des éléments affichés dans Glances sont décrites dans la documentation.

Glances — Glances 3.4.0.3 documentation

Conclusion

Voilà, vous avez maintenant un outil disponible pour surveiller vos systèmes, aussi bien en local qu'à distance, qui vous permettra je l'espère de garder un oeil sur les ressources utilisées par les différents services que vous hébergez.

Si vous avez des questions ou simplement souhaitez échanger avec nous, à propos de cet article ou d'un autre sujet, n'hésitez pas à laisser des commentaires ou à venir sur notre groupe Telegram.