Linux : superviser votre système dans le Terminal avec Glances
Sommaire
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 :
- Standalone : exécution locale classique dans le terminal.
- Client/Serveur : surveillance à distance.
- 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.

