11/12/2025

Supervision

Linux : superviser votre système dans le Terminal avec Glances

I. Présentation

La supervision d'un système Linux directement depuis le Terminal, c'est possible avec Glances. Un outil open source qui va vous faire oublier les commandes top et htop, bien qu'elles restent classiques pour tout administrateur système. Glances propose une approche modernisée avec des options supplémentaires pour visualiser l'état de santé de vos machines en un clin d'œil.

Glances est particulièrement pertinent pour :

  • Consulter rapidement l'état général d'un système avec une seule et unique commande,
  • Diagnostiquer un goulot d'étranglement (CPU, I/O disque ou RAM) sur un serveur de production,
  • Mettre en place une surveillance légère via une interface web sur une machine dépourvue d'interface graphique.

II. Glances, c'est quoi ?

Glances est un outil de supervision système libre développé en langage Python. Il a été créé il y a plus de 10 ans par un Français : Nicolas Hennion, connu sous le pseudo de Nicolargo. Sa particularité : il affiche un état complet d'un système directement dans le terminal, ce qui est particulièrement intéressant sur les serveurs où les interactions s'effectuent uniquement en ligne de commande.

Même si je le présente ici dans le contexte de Linux, Glances présente la particularité de fonctionner sur de multiples plateformes : GNU/Linux, macOS, Windows et FreeBSD. Il prend en charge trois modes d'exécution différents :

  1. Standalone : exécution locale classique dans le terminal.
  2. Client/Serveur : surveillance à distance.
  3. Web Server : affichage des métriques directement via votre navigateur web.

L'objectif de Glances n'est pas de remplacer un outil de supervision complet, où vous aurez des alertes et un historique, mais d'offrir un tableau de bord complet et immédiat. Pour autant, Glances peut communiquer avec d'autres applications grâce à son API. Il prend aussi l'export des données via InfluxDB ou vers un simple fichier CSV. On peut aussi nommer la possibilité d'exporter vers Prometheus pour ensuite afficher les informations avec Grafana.

III. Installation de Glances

Puisque Glances est développé en Python, il a besoin de Python. Pour l'installer, il y a plusieurs méthodes envisageables : installer directement le paquet glances (et ses dépendances) via apt sur Debian / Ubuntu, ou encore directement avec pipx. Il est dans la majorité des dépôts officiels des distributions Linux.

A. Glances via les dépôts (Debian/Ubuntu)

C'est la méthode la plus simple pour une intégration rapide, bien que la version distribuée ne soit pas nécessairement la dernière. Par exemple, actuellement, Debian 13 distribue la version 4.3.1 alors que la plus récente est la 4.4.1.

Pour installer Glances sur Debian ou Ubuntu :

sudo apt update
sudo apt install glances

Comme le montre l'image ci-dessous, de nombreuses dépendances Python seront aussi installées.

Une fois tous les paquets installés, vous pouvez profiter de Glances !

B. Glances via Pipx

Pour bénéficier des dernières fonctionnalités, l'installation avec Pipx directement via Python est recommandée. Vous devez, au préalable, installer Python sur votre machine et préparer votre environnement.

# Installation de Glances avec pipx (toutes les fonctionnalités activées)
pipx install 'glances[all]'

# Installation de Glances avec pip (toutes les fonctionnalités activées)
pip install --user glances[all]

# Installation de base de Glances + interface web
pipx install --user 'glances[web]'

Vous pouvez retrouver le détail des fonctionnalités sur cette page du site PyPi.

C. Glances via Docker

Des images Docker de Glances sont disponibles sur le Docker Hub. C'est plutôt intéressant car cela évite d'installer Glances et toutes ses dépendances sur la machine si vous disposez de Docker. Sachez que Glances est aussi compatible avec LXC.

Ci-dessous un exemple de fichier Docker Compose (docker-compose.yml) pour déployer Glances avec Docker :

services:
  glances:
    container_name: glances
    image: nicolargo/glances:latest
    ports:
      - 61208:61208
    environment:
      - TZ=Europe/Paris
      - GLANCES_OPT=-w
    pid: host
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

L'application Glances sera accessible via un navigateur web sur l'adresse de l'hôte Docker, via le port 61208 : http://<IP Docker>:61208. Cela est possible grâce à l'activation de l'interface web de Glances via GLANCES_OPT=-w.

Pour aller plus loin, voici un autre exemple où Glances est publié via Traefik et l'accès à son interface est protégé par une page d'authentification Tinyauth.

services:
  glances:
    container_name: glances
    image: nicolargo/glances:latest
    environment:
      - TZ=Europe/Paris
      - GLANCES_OPT=-w
    pid: host
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - frontend
    labels:
      - traefik.enable=true
      - traefik.http.routers.glances-https.rule=Host(`glances.domaine.fr`)
      - traefik.http.routers.glances-https.entrypoints=websecure
      - traefik.http.routers.glances-https.tls=true
      - traefik.http.routers.glances-https.tls.certresolver=ovhcloud
      - traefik.http.routers.glances-https.middlewares=crowdsec@file,tinyauth
      - traefik.http.services.glances-https.loadbalancer.server.port=61208
      - tinyauth.apps.glances.config.domain=glances.domaine.fr
      - tinyauth.apps.glances.users.allow=adm_fb
networks:
  frontend:
    external: true

Remarque : si vous envisagez de personnaliser la configuration de Glances, vous devez ajouter un volume pour le fichier glances.conf. Par exemple : - "./glances.conf:/glances/conf/glances.conf".

D'autres exemples sont disponibles sur GitHub du projet Glances : Docker Compose Glances.

IV. Prise en main de Glances

A. Lancer Glances

Pour lancer l'outil, ouvrez simplement votre terminal et tapez cette commande :

glances

L'interface de Glances apparaît immédiatement à l'écran. Elle se divise en plusieurs zones dynamiques où les informations sont actualisées en permanence (avec un délai d'actualisation de 2 secondes par défaut).

Sur les versions récentes, il y a aussi un mode plus synthétique pour obtenir un résumé de votre machine. Ce mode s'exécute de cette façon :

glances --fetch

B. Lancer Glances en mode Web

C'est probablement l'une des fonctionnalités les plus appréciées. Glances peut lancer un petit serveur web intégré, vous permettant de consulter vos métriques depuis n'importe quel navigateur, y compris sur mobile.

Pour lancer ce mode, rajoutez simplement cette option :

glances -w

Glances Web User Interface started on http://0.0.0.0:61208/
Glances RESTful API Server started on http://0.0.0.0:61208/api/4
Announce the Glances server on the LAN (using 0.0.0.0 IP address)
INFO:     Started server process [5087]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:61208 (Press CTRL+C to quit)

Le terminal affiche un message précisant que Glances écoute sur http://0.0.0.0:61208. Vous pouvez donc y accéder en local ou à distance en précisant l'adresse IP de votre machine.

Note : par défaut, le mode web est ouvert à tous. Il est conseillé de définir un mot de passe avec l'option --password. Ce qui donne : glances -w --password. Il conviendra alors de définir un mot de passe associé au compte utilisateur glances (pour changer, utilisez --username).

C. Lancer Glances en mode client / serveur

Ce mode permet de centraliser la surveillance. Vous lancez Glances en mode "serveur" sur la machine à surveiller, et vous vous y connectez depuis votre poste de travail (le client).

Sur le serveur (la machine à surveiller) :

glances -s

Sur la machine de supervision (client) :

glances -c <IP_SERVEUR_GLANCES>

D. Découverte de l'interface

L'interface de Glances, qu'elle s'affiche dans le Terminal ou via la page Web, affiche un ensemble de métriques sur votre système. Ces informations sont réparties dans un ensemble de zones.

La zone principale se situe en bas à droite et donne un aperçu sur tous les processus en cours d'exécution sur la machine. Il y a plusieurs métriques, dont : usage du CPU, usage de la RAM, PID, temps d'exécution, le compte associé, ou encore la commande complète ou le service associé au processus.

Juste au-dessus, vous avez la liste des conteneurs en cours d'exécution sur la machine locale. Avec là encore, des métriques spécifiques : le nom du conteneur, le statut, l'uptime, la consommation en RAM et CPU, et les ports exposés. Glances supporte Docker et Podman.

En complément, il y a d'autres zones permettant d'avoir des informations sur l'état du stockage, l'état du réseau, la charge globale du système sur 1, 5 et 15 minutes, et la charge de la RAM et du CPU à l'échelle du système.

Glances utilise un système de seuils colorés pour attirer votre attention, ce qui facilite la lecture rapide :

  • Vert (OK) : tout est normal.
  • Bleu (Careful) : une vigilance est requise (exemple : CPU > 50%).
  • Violet (Warning) : la charge est élevée (exemple : CPU > 70%).
  • Rouge (Critical) : le système est en situation critique (exemple : CPU > 90%).

Ces seuils sont entièrement configurables via le fichier de configuration glances.conf.

E. Les raccourcis clavier de Glances

Bien qu'il y ait quelques zones cliquables, la navigation sur l'interface de Glances s'effectue majoritairement au clavier. Au-delà de la navigation avec les flèches directionnelles, voici quelques raccourcis pratiques :

  • c : trier les processus par utilisation CPU.
  • m : trier les processus par utilisation mémoire.
  • p : trier les processus par nom.
  • q : quitter l’application.

L'aide, accessible via la touche h du clavier, permet d'obtenir la liste complète des raccourcis clavier :

F. La configuration de Glances

Glances dispose d'un fichier de configuration en mode texte que vous pouvez utiliser pour affiner le comportement de la solution. Ce n'est pas obligatoire d'éditer la configuration, car Glances est prêt à l'emploi dès sa sortie de boite.

Sur Linux (Debian/Ubuntu), le fichier de configuration est le suivant : /etc/glances/glances.conf. Si vous utilisez Glances sur Windows, ce sera bien entendu différent : %APPDATA%\glances\glances.conf.

Vous pouvez notamment utiliser ce fichier de configuration pour personnaliser les seuils d'alerte de Glances et la fréquence à laquelle les données doivent être rafraichies.

Le fichier de configuration commence par la section [global] :

[global]
# Temps d'actualisation global, personnalisable au niveau de chaque module
# Par exemple, un temps d'actualisation plus rapide pour le CPU.
refresh=2
# Vérifier la présence de mises à jour
check_update=true
# Taille de l'historique, en nombre de valeurs
# 1200 valeurs = 1 heure avec le refresh à 2 secondes
history_size=1200

Il y a ensuite des sections par module, par exemple [system] (première ligne de l'interface Glances), [cpu] pour les informations globales sur le processeur ou encore [mem] pour la RAM. Vous avez à chaque fois des paramètres communs, comme disable=False si un module est activé, et des paramètres pour la personnalisation des seuils (careful, warning, critical).

Par ailleurs, vous pouvez configurer l'exporter Prometheus pour ensuite afficher les informations avec Grafana. Cette configuration s'effectue dans le même fichier de configuration, via la section [prometheus]. Voici la configuration suggérée (et par défaut) :

[prometheus]
host=localhost
port=9091
prefix=glances
labels=src:glance

Pour activer l'export, vous devez lancer Glances de cette façon :

glances --export prometheus

Pour en savoir plus et obtenir des précisions sur les paramètres, consultez cette page : Documentation Glances - Configuration.

VI. Conclusion

Glances se positionne comme un outil de monitoring "tout-en-un" très pertinent pour l'administration système quotidienne. Sa capacité à s'exécuter en mode web ou client/serveur lui confère une polyvalence que les outils standards n'ont pas toujours. Bien qu'il ne remplace pas une solution de supervision complète comme Centreon ou Zabbix pour l'historisation à long terme, il est un allié de choix pour l'analyse en temps réel.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.