Aller au contenu
Mathis Vila

projets but3 r502-acte1-supervision

BUT3 · R502 Terminé

Supervision de conteneurs avec Prometheus et Grafana

J'ai construit dans Grafana un tableau de bord de supervision des conteneurs alimenté par Prometheus, avec des filtres par machine et par conteneur.

Année
BUT3 · S5
Module
R502 Supervision et conteneurisation
Type
TP
Date
08/09/2026
Équipe
seul
Mon rôle
Auteur unique

Contexte et objectif

L'Acte 1 du module est consacré au monitoring : rendre visible l'état d'un système d'information avant qu'un incident ne survienne. Le scénario place le système à superviser aux Kerguelen et le poste de supervision à La Réunion, à environ 3 300 km. L'objectif : voir dériver avant que cela ne lâche.

Ce que j'ai réalisé

  • J'ai déclaré la source de données Prometheus dans Grafana.
  • J'ai construit un tableau de bord de supervision des conteneurs avec des variables de filtrage par machine et par conteneur.
  • J'ai ajouté des indicateurs clés (valeurs instantanées) et des graphiques d'historique pour le processeur et la mémoire.
  • J'ai répondu à dix questions de validation à l'aide de requêtes PromQL (plus gros consommateurs de mémoire, trafic réseau, entrées-sorties disque, corrélations).
  • J'ai proposé des améliorations d'exploitation à partir de mes mesures.

Difficultés rencontrées et solutions

  • Aucune requête ne fonctionnait : les métriques des conteneurs n'avaient plus de nom. En remontant à la source, j'ai trouvé la cause dans les journaux de l'exporter : la version récente de Docker utilise un nouveau magasin d'images que l'exporter ne sait pas lire. J'ai rétabli le magasin historique, sans perte de données.
  • Désynchronisation des horloges entre les deux VM, qui faussait l'affichage.
  • Confusion possible entre deux labels de noms proches dans les requêtes.

Résultats

  • Huit conteneurs suivis en processeur et en mémoire, en instantané comme en historique.
  • Nextcloud représente à lui seul 24,40 % de la mémoire de la machine.
  • L'agent de collecte de journaux arrive en tête des écritures disque, ce qui n'était pas attendu.
  • Un décalage de trente secondes entre pic mémoire et pointe processeur de la base de données invalide l'interprétation la plus immédiate.

Ce que j'en retiens

La difficulté du monitoring ne réside pas dans l'écriture des requêtes. Deux constats d'exploitation ressortent : sans limite mémoire déclarée, l'infrastructure n'a aucune protection contre une fuite mémoire, et sans suivi des redémarrages, une classe entière de pannes reste invisible. Face à un panneau vide, je remonte à la source des données avant de toucher à la requête.

Technologies

  • Grafana
  • Prometheus
  • PromQL
  • cAdvisor
  • Loki
  • Alertmanager
  • Docker
  • Docker Compose
  • Nextcloud
  • PostgreSQL

En images

Prometheus : toutes les cibles de collecte sont actives
Prometheus : toutes les cibles de collecte sont actives
Grafana : sources de données Loki, PostgreSQL et Prometheus déclarées
Grafana : sources de données Loki, PostgreSQL et Prometheus déclarées
Nextcloud peuplé avec les documents du scénario
Nextcloud peuplé avec les documents du scénario
Grafana et Loki : volume et détail des journaux applicatifs collectés
Grafana et Loki : volume et détail des journaux applicatifs collectés
Incident documenté : requête refusée faute de base par défaut sur la source de données
Incident documenté : requête refusée faute de base par défaut sur la source de données
Incident documenté : redirection vers un nom de domaine interne non résolu
Incident documenté : redirection vers un nom de domaine interne non résolu