Glances affiche en temps réel l'état complet de votre système : CPU, mémoire,
disques, réseau, processus et conteneurs Docker, le tout dans une seule
interface. Contrairement à top ou htop qui se limitent aux processus,
Glances centralise toutes les métriques système et peut les exporter vers
Prometheus ou InfluxDB. Ce guide vous apprend à l'installer, le configurer et
l'utiliser pour surveiller vos serveurs efficacement.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer Glances sur Linux, macOS ou Windows
- Utiliser les 4 modes : local, web, client/serveur et fetch
- Configurer les alertes et personnaliser l'affichage
- Exporter les métriques vers Prometheus ou InfluxDB
- Surveiller vos conteneurs Docker et Podman
Pourquoi Glances plutôt que top ou htop ?
Section intitulée « Pourquoi Glances plutôt que top ou htop ? »Diagnostiquer un serveur lent avec les outils classiques impose d'ouvrir
plusieurs terminaux. top et htop ne montrent que les processus ; l'état
du réseau demande iftop, les entrées/sorties disque iotop, les températures
sensors. Chacun a son propre intervalle de rafraîchissement, ce qui rend la
corrélation difficile : vous ne savez pas si le pic CPU et le pic disque
sont simultanés. Glances interroge toutes ces sources dans une boucle
unique et les affiche côte à côte, donc sur la même base de temps.
| Outil | CPU | RAM | Processus | Réseau | Disques | Conteneurs | Alertes |
|---|---|---|---|---|---|---|---|
top | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
htop | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Glances | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Architecture de Glances
Section intitulée « Architecture de Glances »Glances collecte les données depuis plusieurs sources (psutil, Docker, capteurs matériels) et les expose via différentes interfaces :
Les 4 modes d'utilisation
Section intitulée « Les 4 modes d'utilisation »Glances propose quatre façons de surveiller vos systèmes selon vos besoins :
| Mode | Commande | Usage |
|---|---|---|
| Local | glances | Surveillance rapide en terminal |
| Web | glances -w | Accès navigateur, surveillance à distance |
| Client/Serveur | glances -s / glances -c <ip> | Centraliser plusieurs machines |
| Fetch | glances --fetch | Snapshot instantané style neofetch |
Installation
Section intitulée « Installation »Glances est écrit en Python. La méthode recommandée est d'utiliser pipx ou mise pour l'isoler des dépendances système.
pipx installe les applications Python dans des environnements isolés :
# Installer pipx si nécessairepython3 -m pip install --user pipxpython3 -m pipx ensurepath
# Installer Glances avec toutes les fonctionnalitéspipx install 'glances[all]'L'option [all] active le support réseau avancé, les capteurs matériels et
les intégrations (Prometheus, InfluxDB, etc.).
mise installe Glances dans un environnement isolé :
mise use -g pipx:glancesInstalled 1 executable: glancesmise ~/.config/mise/config.toml tools: pipx:glances@4.5.5Vérifiez l'installation :
glances --versionGlances version: 4.5.5Glances API version: 4PsUtil version: 7.2.2Log file: /home/bob/.local/share/glances/glances.logbrew install glancesLes versions des dépôts système sont souvent moins récentes :
# Debian/Ubuntusudo apt install glances
# Fedora/RHELsudo dnf install glances
# Arch Linuxsudo pacman -S glancesMode local : surveillance en terminal
Section intitulée « Mode local : surveillance en terminal »Le mode par défaut affiche une interface TUI (Text User Interface) complète :
glancesL'interface affiche en temps réel :
- En haut : informations système, uptime, charge CPU
- Au centre : mémoire, swap, réseau, disques I/O
- En bas : liste des processus triés par consommation
Raccourcis clavier essentiels
Section intitulée « Raccourcis clavier essentiels »Glances est sensible à la casse : d masque les I/O disque, D masque les conteneurs. Les touches se répartissent en deux familles. Celles qui trient la liste des processus (c, m, i, p, a) et celles qui masquent ou affichent un bloc de l'interface (d, n, s, 1, 2). Masquer les blocs inutiles est le premier réflexe sur un terminal étroit, où Glances tronque l'affichage sans prévenir. Pour filtrer la liste des processus, la touche n'est pas / mais la touche Entrée, qui ouvre le champ de saisie du motif ; E efface ensuite le filtre.
| Touche | Action |
|---|---|
h | Afficher l'aide |
q | Quitter |
c | Trier par CPU |
m | Trier par mémoire |
i | Trier par I/O |
p | Trier par nom |
a | Mode automatique (tri dynamique) |
d | Afficher/masquer les I/O disque |
n | Afficher/masquer le réseau |
s | Afficher/masquer les capteurs |
2 | Désactiver la sidebar gauche |
1 | Afficher CPU par cœur |
/ | Nom des processus : court ou complet |
Mode fetch : snapshot instantané
Section intitulée « Mode fetch : snapshot instantané »Le mode --fetch (nouveauté v4.4) affiche un résumé style neofetch, idéal pour
un diagnostic rapide ou l'intégration dans des scripts :
glances --fetch━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━✨ master1 | Uptime: 3 days, 2:57:34⚙️ Ubuntu 24.04 64bit / Linux 6.8.0-90-generic
💡 LOAD 0.18/min1 | 0.28/min5 | 0.43/min15⚡ CPU ■□□□□□□□□□□□□□□□□□ 6.3% of 16 cores🧠 MEM ■■□□□□□□□□□□□□□□□□ 12.8% (6.01G / 46.8G)💾 DISK ■■■■■■■■■■□□□□□□□□ 56.1% (158G / 295G) for /📡 NET ↓ 16Kb/s ↑ 13Kb/s for enp2s0
🔥 TOP PROCESS by CPU1️⃣ node ⚡ 0.0% CPU 🧠 1.67GB MEM2️⃣ node ⚡ 0.0% CPU 🧠 766MB MEM3️⃣ node ⚡ 0.0% CPU 🧠 400MB MEM━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Mode Web : surveillance via navigateur
Section intitulée « Mode Web : surveillance via navigateur »Le mode web lance un serveur HTTP avec une interface accessible depuis n'importe quel navigateur :
glances -wGlances Web Server started on http://0.0.0.0:61208/Ouvrez ensuite http://localhost:61208 dans votre navigateur.
Configurer l'authentification
Section intitulée « Configurer l'authentification »Pour protéger l'accès :
glances -w --username --passwordGlances vous demandera de créer un mot de passe au premier lancement.
Mode client/serveur : centraliser la surveillance
Section intitulée « Mode client/serveur : centraliser la surveillance »Pour surveiller plusieurs machines depuis un poste central :
-
Sur chaque serveur à surveiller, lancez Glances en mode serveur :
Fenêtre de terminal glances -sGlances XML-RPC server is running on 0.0.0.0:61209 -
Depuis votre poste, connectez-vous en mode client :
Fenêtre de terminal glances -c 192.168.1.100L'interface affiche les métriques du serveur distant.
-
Pour découvrir les serveurs automatiquement sur le réseau :
Fenêtre de terminal glances --browserUne liste des instances Glances détectées s'affiche.
Export des métriques
Section intitulée « Export des métriques »Glances peut exporter ses données vers différents backends pour du monitoring long terme.
Export CSV
Section intitulée « Export CSV »Exportez les métriques dans un fichier CSV :
glances --export csv --export-csv-file /tmp/metrics.csv --stop-after 10Le fichier contient toutes les métriques avec un timestamp :
timestamp,cpu.total,cpu.user,cpu.system,mem.percent,mem.used,...2026-01-26 10:01:54,2.0,1.2,0.8,12.8,6437355520,...Export JSON en ligne de commande
Section intitulée « Export JSON en ligne de commande »L'option --stdout sert à extraire une métrique précise sans lancer
l'interface, par exemple depuis un script de supervision ou un playbook. La
syntaxe accepte deux niveaux : cpu renvoie tout le plugin, cpu.total
n'en renvoie qu'un attribut. Combinez toujours avec --stop-after, sinon la
commande tourne indéfiniment et bloque votre script. Notez que la sortie de
--stdout est du dictionnaire Python, pas du JSON valide : pour du JSON
parsable, utilisez --stdout-json.
glances --stdout cpu,mem --stop-after 2cpu: {'total': 3.0, 'user': 4.3, 'system': 0.9, 'idle': 93.9, ...}mem: {'total': 50282524672, 'percent': 12.7, 'used': 6405283840, ...}Format CSV pour un traitement simplifié :
glances --stdout-csv cpu.total,mem.percent --stop-after 3cpu.total,mem.percent2.0,12.81.6,12.8Export vers Prometheus
Section intitulée « Export vers Prometheus »Glances expose un endpoint compatible Prometheus :
-
Créez le fichier de configuration
~/.config/glances/glances.conf:[prometheus]host=0.0.0.0port=9091prefix=glanceslabels=instance:myserver -
Lancez Glances avec l'export Prometheus :
Fenêtre de terminal glances --export prometheus -
Configurez Prometheus pour scraper les métriques :
prometheus.yml scrape_configs:- job_name: 'glances'scrape_interval: 15sstatic_configs:- targets: ['localhost:9091']
Les métriques sont disponibles sur http://localhost:9091/metrics.
Export vers InfluxDB
Section intitulée « Export vers InfluxDB »Chaque version majeure d'InfluxDB a son propre exporteur dans Glances :
influxdb pour la 1.x, influxdb2 pour la 2.x, influxdb3 pour la 3.x. Le
nom de la section du fichier de configuration doit correspondre exactement à
celui passé à --export, sinon l'exporteur ne trouve pas sa configuration.
Contrôlez le résultat avec glances -d, qui journalise l'initialisation de
chaque exporteur. Le token est stocké en clair dans glances.conf :
restreignez le fichier avec chmod 600 et tenez-le hors de tout dépôt Git.
[influxdb2]host=localhostport=8086protocol=httporg=myorgbucket=glancestoken=my-tokenglances --export influxdb2Plugins et modules disponibles
Section intitulée « Plugins et modules disponibles »Glances est modulaire. Voici les principaux plugins :
glances --modules-listPlugins list: alert, amps, cloud, connections, containers, core, cpu, diskio,folders, fs, gpu, help, ip, irq, load, mem, memswap, mpp, network, now, npu,percpu, ports, processcount, processlist, programlist, psutilversion,quicklook, raid, sensors, smart, system, uptime, version, vms, wifi
Exporters list: cassandra, clickhouse, couchdb, csv, duckdb, elasticsearch,graph, graphite, influxdb, influxdb2, influxdb3, json, kafka, mongodb, mqtt, nats,opentsdb, prometheus, rabbitmq, restful, riemann, statsd, timescaledb, zeromqSurveillance des conteneurs Docker
Section intitulée « Surveillance des conteneurs Docker »Glances détecte automatiquement les conteneurs Docker et Podman :
glances# Appuyez sur 'D' pour afficher/masquer les conteneursPour chaque conteneur, vous voyez :
- Nom et statut
- Utilisation CPU et mémoire
- Ports exposés (nouveauté v4.3)
Surveillance des VMs (KVM/libvirt)
Section intitulée « Surveillance des VMs (KVM/libvirt) »Depuis la version 4.3.2, Glances peut surveiller les machines virtuelles KVM :
glances --enable-plugin vmsConfiguration avancée
Section intitulée « Configuration avancée »Le fichier de configuration permet de personnaliser le comportement de Glances.
Emplacements du fichier
Section intitulée « Emplacements du fichier »Glances cherche glances.conf dans plusieurs répertoires et s'arrête au
premier trouvé, en donnant la priorité au fichier utilisateur sur le
fichier système (/etc/glances/). Créez le répertoire vous-même si nécessaire,
l'installation par pipx ou mise ne le fait pas. En cas de doute sur le
fichier réellement chargé, consultez le journal de Glances : il contient
une ligne Read configuration file suivie du chemin retenu. L'option -C
force un fichier précis, ce qui est utile pour tester une configuration sans
toucher à celle en place.
- Linux :
~/.config/glances/glances.conf - macOS :
~/Library/Application Support/glances/glances.conf - Windows :
%APPDATA%\glances\glances.conf
Exemple de configuration
Section intitulée « Exemple de configuration »Le fichier est découpé en sections qui portent le nom du plugin concerné,
plus une section [global] et une section [outputs]. Deux réglages changent
immédiatement le confort d'usage. Le refresh global, à 2 secondes par défaut,
que l'on monte à 3 ou 5 sur une machine chargée pour réduire le coût de la
collecte elle-même. Et les directives hide, qui acceptent des expressions
régulières : sans elles, les interfaces veth d'un hôte Docker et les
montages /snap noient le reste. Attention aux seuils warning et
critical : seuls, ils changent la couleur de la valeur affichée et rien
d'autre. Pour déclencher une commande, il faut ajouter une directive d'action
dédiée, par exemple user_critical_action dans la section [cpu].
[global]# Rafraîchissement toutes les 3 secondesrefresh=3# Vérifier les mises à jourcheck_update=true
[outputs]# Nombre maximum de processus affichésmax_processes_display=30
[cpu]# Seuils d'alerte CPUuser_warning=70user_critical=90
[mem]# Seuils d'alerte mémoirewarning=70critical=90
[fs]# Masquer certains systèmes de fichiershide=/boot.*,/snap.*
[network]# Masquer certaines interfaceshide=lo,docker.*,veth.*
[containers]# Activer la surveillance des conteneursdisable=falseSystème d'alertes
Section intitulée « Système d'alertes »Glances utilise un code couleur pour signaler les problèmes :
| Couleur | Signification | Action |
|---|---|---|
| Vert | Normal | Rien à faire |
| Jaune | Attention (warning) | Surveiller |
| Rouge | Critique | Investiguer immédiatement |
Les seuils sont configurables dans glances.conf pour chaque métrique.
Dépannage
Section intitulée « Dépannage »Problèmes courants et solutions
Section intitulée « Problèmes courants et solutions »La majorité des pannes de Glances viennent de dépendances Python optionnelles
absentes, pas d'un bug de l'outil. Le symptôme est toujours le même : un bloc
de l'interface reste vide ou disparaît, sans message à l'écran. Le réflexe est
donc de relancer avec glances -d et de lire le journal, où l'import raté
apparaît en clair. Pour les conteneurs, la cause est presque toujours une
permission sur le socket Docker : votre compte doit pouvoir lire
/var/run/docker.sock.
| Symptôme | Cause probable | Solution |
|---|---|---|
ModuleNotFoundError: psutil | Dépendance manquante | Réinstaller avec pipx install glances[all] |
| Interface web inaccessible | Pare-feu | Ouvrir le port 61208 |
| Pas de données conteneurs | Docker socket | Vérifier les permissions sur /var/run/docker.sock |
| Capteurs non détectés | Dépendance manquante | Installer lm-sensors sur Linux |
| Erreur API Prometheus | Configuration | Vérifier [prometheus] dans glances.conf |
Commandes de diagnostic
Section intitulée « Commandes de diagnostic »Ces quatre commandes se lancent dans l'ordre où elles sont listées. --version
confirme d'abord que vous exécutez bien le binaire attendu, ce qui n'est pas
acquis quand pipx, mise et le paquet de la distribution coexistent sur
la même machine. Le mode -d écrit un journal détaillé dans le fichier de log
indiqué par --version. --modules-list répond à la question « ce plugin
est-il seulement compilé dans ma version ». Enfin --stdout isole la collecte
de l'affichage : si la donnée sort correctement ici, le problème vient de
l'interface, pas du capteur.
# Vérifier la version et les dépendancesglances --version
# Mode debug pour voir les erreursglances -d
# Lister les modules disponiblesglances --modules-list
# Tester l'export sans interfaceglances --stdout system --stop-after 1Bonnes pratiques
Section intitulée « Bonnes pratiques »Sécurité
Section intitulée « Sécurité »Le serveur web de Glances expose en lecture la liste complète des processus avec leurs lignes de commande, les points de montage et les interfaces réseau. C'est une cartographie de la machine offerte à qui atteint le port 61208, sans qu'aucune authentification ne soit active par défaut. Le serveur ne gère pas non plus le TLS de lui-même : l'authentification par mot de passe seule transiterait en clair, d'où le reverse proxy.
- Ne pas exposer le serveur web sur Internet sans authentification
- Utiliser un reverse proxy (nginx, Traefik) pour le HTTPS
- Limiter les interfaces avec
--bind 127.0.0.1
Performance
Section intitulée « Performance »Glances est lui-même un processus Python qui consomme du CPU à chaque cycle, et cette consommation croît avec le nombre de plugins actifs et de processus à trier. Sur un serveur de production déjà chargé, un rafraîchissement à la seconde revient à mesurer en partie son propre coût. Les trois réglages ci-dessous agissent sur des leviers distincts : la fréquence de collecte, le nombre de capteurs interrogés, et le volume de données à afficher.
- Ajuster le refresh : 3-5 secondes suffisent généralement
- Désactiver les plugins inutiles :
--disable-plugin sensors,gpu - Filtrer les interfaces réseau : masquer les veth Docker
Organisation
Section intitulée « Organisation »Glances reste un outil de diagnostic à chaud : il montre l'instant présent,
pas l'historique. Tant que vos serveurs ont chacun leur glances.conf
bricolé à la main, deux administrateurs qui regardent la même métrique verront
des seuils différents et n'arriveront pas aux mêmes conclusions. Distribuez
donc ce fichier avec votre gestionnaire de configuration, au même titre qu'un
sshd_config. Et gardez à l'esprit la limite de l'outil : pour répondre à
« quand cela a-t-il commencé », il faut un export vers Prometheus ou
InfluxDB, pas une session Glances ouverte.
- Standardiser la configuration sur tous vos serveurs
- Utiliser le mode client/serveur pour centraliser la surveillance
- Exporter vers Prometheus/Grafana pour l'historique et les alertes
À retenir
Section intitulée « À retenir »- Glances centralise CPU, RAM, disques, réseau, processus et conteneurs dans une seule interface
- 4 modes d'utilisation : local (
glances), web (-w), client/serveur (-s/-c), fetch (--fetch) - Mode fetch (v4.4+) : snapshot instantané style neofetch
- Export natif vers Prometheus, InfluxDB, CSV et 15+ autres backends
- Alertes colorées : vert (OK), jaune (warning), rouge (critique)
- Configuration centralisée dans
~/.config/glances/glances.conf - Support conteneurs : Docker et Podman détectés automatiquement
- Installation recommandée : via mise ou pipx pour l'isolation
FAQ : questions fréquentes
Section intitulée « FAQ : questions fréquentes »Ces réponses courtes reprennent les questions qui reviennent le plus souvent
sur Glances : le choix entre Glances et htop, l'accès depuis un
navigateur, l'export vers Prometheus et la surveillance des conteneurs
Docker.
glances -w : un serveur web démarre sur le port 61208 (http://localhost:61208). En production, restreignez l'écoute avec --bind-address, activez l'authentification (--username --password), ou passez par un reverse proxy HTTPS.[prometheus] (host, port, prefix) dans ~/.config/glances/glances.conf, puis lancez glances --export prometheus. Les métriques sont exposées sur /metrics, que vous scrapez depuis Prometheus. Glances gère aussi InfluxDB 1/2/3, CSV et d'autres.glances et appuyez sur D pour voir leur CPU, mémoire et ports. Le plugin containers est actif par défaut ; l'utilisateur doit avoir accès au socket Docker (/var/run/docker.sock).Prochaines étapes
Section intitulée « Prochaines étapes »Ressources
Section intitulée « Ressources »- Site officiel : nicolargo.github.io/glances
- Documentation : glances.readthedocs.io
- GitHub : github.com/nicolargo/glances
- Dernière version : github.com/nicolargo/glances/releases (v4.5.5 en juin 2026)