Aller au contenu
Outils medium

Glances : surveiller votre système en temps réel

15 min de lecture

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.

  • 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

Imaginez que vous devez diagnostiquer un serveur lent. Avec top, vous voyez les processus. Avec htop, vous avez une vue plus jolie des mêmes processus. Mais pour voir l’état du réseau, vous lancez iftop. Pour les disques, iotop. Pour les températures, sensors. Glances rassemble tout cela dans une seule interface.

OutilCPURAMProcessusRéseauDisquesConteneursAlertes
top
htop
Glances

Analogie : Si top est un thermomètre, Glances est un tableau de bord complet de voiture avec compteur de vitesse, jauge d’essence, température moteur et voyants d’alerte.

Glances collecte les données depuis plusieurs sources (psutil, Docker, capteurs matériels) et les expose via différentes interfaces :

Architecture Glances : sources de données, core et interfaces de sortie

Glances propose quatre façons de surveiller vos systèmes selon vos besoins :

Les 4 modes de Glances : local, web, client/serveur et fetch

ModeCommandeUsage
LocalglancesSurveillance rapide en terminal
Webglances -wAccès navigateur, surveillance à distance
Client/Serveurglances -s / glances -c <ip>Centraliser plusieurs machines
Fetchglances --fetchSnapshot instantané style neofetch

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 :

Fenêtre de terminal
# Installer pipx si nécessaire
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# Installer Glances avec toutes les fonctionnalités
pipx install 'glances[all]'

L’option [all] active le support réseau avancé, les capteurs matériels et les intégrations (Prometheus, InfluxDB, etc.).

Le mode par défaut affiche une interface TUI (Text User Interface) complète :

Fenêtre de terminal
glances

L’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
ToucheAction
hAfficher l’aide
qQuitter
cTrier par CPU
mTrier par mémoire
iTrier par I/O
pTrier par nom
aMode automatique (tri dynamique)
dAfficher/masquer les disques
nAfficher/masquer le réseau
sAfficher/masquer les capteurs
2Désactiver la sidebar gauche
1Afficher CPU par cœur
/Filtrer les processus

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 :

Fenêtre de terminal
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 CPU
1️⃣ node ⚡ 0.0% CPU 🧠 1.67GB MEM
2️⃣ node ⚡ 0.0% CPU 🧠 766MB MEM
3️⃣ node ⚡ 0.0% CPU 🧠 400MB MEM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Le mode web lance un serveur HTTP avec une interface accessible depuis n’importe quel navigateur :

Fenêtre de terminal
glances -w
Glances Web Server started on http://0.0.0.0:61208/

Ouvrez ensuite http://localhost:61208 dans votre navigateur.

Pour protéger l’accès :

Fenêtre de terminal
glances -w --username --password

Glances vous demandera de créer un mot de passe au premier lancement.

Pour surveiller plusieurs machines depuis un poste central :

  1. Sur chaque serveur à surveiller, lancez Glances en mode serveur :

    Fenêtre de terminal
    glances -s
    Glances XML-RPC server is running on 0.0.0.0:61209
  2. Depuis votre poste, connectez-vous en mode client :

    Fenêtre de terminal
    glances -c 192.168.1.100

    L’interface affiche les métriques du serveur distant.

  3. Pour découvrir les serveurs automatiquement sur le réseau :

    Fenêtre de terminal
    glances --browser

    Une liste des instances Glances détectées s’affiche.

Glances peut exporter ses données vers différents backends pour du monitoring long terme.

Exportez les métriques dans un fichier CSV :

Fenêtre de terminal
glances --export csv --export-csv-file /tmp/metrics.csv --stop-after 10

Le 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,...

Pour récupérer des métriques spécifiques :

Fenêtre de terminal
glances --stdout cpu,mem --stop-after 2
cpu: {'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é :

Fenêtre de terminal
glances --stdout-csv cpu.total,mem.percent --stop-after 3
cpu.total,mem.percent
2.0,12.8
1.6,12.8

Glances expose un endpoint compatible Prometheus :

  1. Créez le fichier de configuration ~/.config/glances/glances.conf :

    [prometheus]
    host=0.0.0.0
    port=9091
    prefix=glances
    labels=instance:myserver
  2. Lancez Glances avec l’export Prometheus :

    Fenêtre de terminal
    glances --export prometheus
  3. Configurez Prometheus pour scraper les métriques :

    prometheus.yml
    scrape_configs:
    - job_name: 'glances'
    scrape_interval: 15s
    static_configs:
    - targets: ['localhost:9091']

Les métriques sont disponibles sur http://localhost:9091/metrics.

Glances supporte InfluxDB 1.x, 2.x et 3.x :

~/.config/glances/glances.conf
[influxdb2]
host=localhost
port=8086
protocol=http
org=myorg
bucket=glances
token=my-token
Fenêtre de terminal
glances --export influxdb2

Glances est modulaire. Voici les principaux plugins :

Fenêtre de terminal
glances --modules-list
Plugins list: alert, amps, cloud, connections, containers, core, cpu, diskio,
folders, fs, gpu, help, ip, irq, load, mem, memswap, network, now, percpu,
ports, processcount, processlist, programlist, psutilversion, quicklook, raid,
sensors, smart, system, uptime, version, vms, wifi
Exporters list: cassandra, couchdb, csv, duckdb, elasticsearch, graph, graphite,
influxdb, influxdb2, influxdb3, json, kafka, mongodb, mqtt, opentsdb, prometheus,
rabbitmq, restful, riemann, statsd, timescaledb, zeromq

Glances détecte automatiquement les conteneurs Docker et Podman :

Fenêtre de terminal
glances
# Appuyez sur 'D' pour afficher/masquer les conteneurs

Pour chaque conteneur, vous voyez :

  • Nom et statut
  • Utilisation CPU et mémoire
  • Ports exposés (nouveauté v4.3)

Depuis la version 4.3.2, Glances peut surveiller les machines virtuelles KVM :

Fenêtre de terminal
glances --enable-plugin vms

Le fichier de configuration permet de personnaliser le comportement de Glances.

  • Linux : ~/.config/glances/glances.conf
  • macOS : ~/Library/Application Support/glances/glances.conf
  • Windows : %APPDATA%\glances\glances.conf
~/.config/glances/glances.conf
[global]
# Rafraîchissement toutes les 3 secondes
refresh=3
# Vérifier les mises à jour
check_update=true
[outputs]
# Nombre maximum de processus affichés
max_processes_display=30
[cpu]
# Seuils d'alerte CPU
user_warning=70
user_critical=90
[mem]
# Seuils d'alerte mémoire
warning=70
critical=90
[fs]
# Masquer certains systèmes de fichiers
hide=/boot.*,/snap.*
[network]
# Masquer certaines interfaces
hide=lo,docker.*,veth.*
[containers]
# Activer la surveillance des conteneurs
disable=false

Glances utilise un code couleur pour signaler les problèmes :

CouleurSignificationAction
🟢 VertNormalRien à faire
🟡 JauneAttention (warning)Surveiller
🔴 RougeCritiqueInvestiguer immédiatement

Les seuils sont configurables dans glances.conf pour chaque métrique.

SymptômeCause probableSolution
ModuleNotFoundError: psutilDépendance manquanteRéinstaller avec pipx install glances[all]
Interface web inaccessiblePare-feuOuvrir le port 61208
Pas de données conteneursDocker socketVérifier les permissions sur /var/run/docker.sock
Capteurs non détectésDépendance manquanteInstaller lm-sensors sur Linux
Erreur API PrometheusConfigurationVérifier [prometheus] dans glances.conf
Fenêtre de terminal
# Vérifier la version et les dépendances
glances --version
# Mode debug pour voir les erreurs
glances -d
# Lister les modules disponibles
glances --modules-list
# Tester l'export sans interface
glances --stdout system --stop-after 1
  • Ne pas exposer le serveur web sur Internet sans authentification
  • Utiliser un reverse proxy (nginx, Traefik) pour le HTTPS
  • Limiter les interfaces avec --bind-address 127.0.0.1
  • 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
  • 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
  1. Glances centralise CPU, RAM, disques, réseau, processus et conteneurs dans une seule interface
  2. 4 modes d’utilisation : local (glances), web (-w), client/serveur (-s/-c), fetch (--fetch)
  3. Mode fetch (v4.4+) : snapshot instantané style neofetch
  4. Export natif vers Prometheus, InfluxDB, CSV et 15+ autres backends
  5. Alertes colorées : vert (OK), jaune (warning), rouge (critique)
  6. Configuration centralisée dans ~/.config/glances/glances.conf
  7. Support conteneurs : Docker et Podman détectés automatiquement
  8. Installation recommandée : via mise ou pipx pour l’isolation

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.