TP : Surveillance système avec Grafana, Prometheus et Node
Exporter
Objectif :
scrape_configs:
- job_name: 'windows_exporter'
static_configs:
- targets: ['localhost:9182']
scrape_interval: 30s # Collecter toutes les 30 secondes
Mettre en place un système de supervision permettant de visualiser
les indicateurs de performance (CPU, RAM, etc.) d’une machine
locale à l’aide de Docker, Prometheus, Node Exporter et Grafana.
Prérequis :
● Docker installé (docker version)
● Docker Compose installé (docker compose version)
● Windows avec PowerShell ou terminal
● Connexion internet
Étapes du TP
Étape 1 – Créer le projet
mkdir projet-grafana
cd projet-grafana
Créer un fichier docker-compose.yml :
notepad docker-compose.yml
Copie et colle ce contenu :
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
node-exporter:
image: prom/node-exporter
ports:
- "9100:9100"
grafana:
image: grafana/grafana
ports:
- "3000:3000"
Étape 2 – Créer le fichier de config de Prometheus
Crée un fichier prometheus.yml :
notepad prometheus.yml
Colle
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['node-exporter:9100']
Étape 3 – Démarrer les conteneurs
Lance tous les services :
docker compose up -d
Vérifie que les conteneurs sont bien lancés :
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
28bd0987e5cb prom/prometheus "/bin/prometheus --c…" About an hour ago Up About an hour 0.0.0.0:9090->9090/tcp
prometheus
4333e016090f grafana/grafana "/run.sh" About an hour ago Up 53 minutes 0.0.0.0:3000->3000/tcp grafana
de6d51ede67f prom/node-exporter "/bin/node_exporter" About an hour ago Up About an hour 0.0.0.0:9100->9100/t
Étape 4 – Accéder aux interfaces
● Prometheus → http://localhost:9090
● Grafana → http://localhost:3000
○ Identifiants par défaut :
■ utilisateur : admin
■ mot de passe : admin (à changer à la 1re connexion)
Étape 5 – Ajouter Prometheus comme source de données dans Grafana
1.Dans Grafana, va dans "Paramètres (engrenage)" → "Data
sources".
2.Clique sur "Add data source".
3.Choisis "Prometheus".
4.Dans l'URL, entre : http://prometheus:9090
5.Clique sur "Save & Test" → tu dois voir un message vert de
succès.
1. Comprendre la métrique node_memory_Active_bytes
● Active memory : c’est la mémoire considérée comme « en cours
d’utilisation » ou « récemment utilisée » par les applications et
services.
● Unités : en octets (bytes). Dans le graphique, les valeurs oscillent
autour de ~1.84 à ~1.92 Go (par exemple, 1.92×10^9 bytes ≈ 1.92
Go).
Lorsque cette valeur augmente, cela peut signifier :
1.Qu’un ou plusieurs processus ont demandé de la mémoire
supplémentaire.
2.Que le noyau Linux classe certaines pages comme « actives »
(accès récent).
Lorsque cette valeur diminue, cela peut vouloir dire :
1.Qu’un processus a libéré de la mémoire.
2.Que le noyau a reclassé certaines pages en mémoire « inactive ».
2. Lecture du graphique
Tu vois probablement un saut vers 22h35 (par exemple, de 1.84 Go à
1.92 Go) suivi d’une baisse quelques minutes plus tard. Plusieurs
hypothèses :
1.Un process ou un service (ex : une tâche planifiée, un cron, un
script de backup) a démarré, réclamant soudainement plus de
mémoire.
2.Un cache disque ou des buffers ont été mis à jour (le noyau Linux
peut marquer un cache fraîchement utilisé comme « actif »).
3.Un pic d’activité sur le serveur (ex. : requêtes Web, traitement
batch) a fait monter la mémoire active, avant qu’elle retombe une
fois la charge terminée.
Invoke-WebRequest -Uri
"https://github.com/prometheus-community/windows_exporter/release
s/latest/download/windows_exporter-0.24.0-amd64.msi" -OutFile
"C:\Temp\windows_exporter.msi"
New-Item -ItemType Directory -Path "C:\Temp"