Aller au contenu
Mathis Vila

projets but3 r502-acte0-taaf

BUT3 · R502 Terminé

Monter un système d'information supervisé : deux VM, Docker et une chaîne d'observabilité

J'ai monté le système d'information d'un scénario aux Kerguelen : deux VM provisionnées avec Vagrant, des services en conteneurs et une chaîne de métriques et de journaux.

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

Contexte et objectif

Le module suit un scénario situé dans les Terres Australes et Antarctiques Françaises : le système d'information d'un district des Kerguelen, qu'il faut d'abord monter soi-même avant de le superviser. L'objectif de cet « Acte 0 » était de construire la cible : deux machines virtuelles distinctes, l'une hébergeant le système observé (PostgreSQL, Nextcloud), l'autre la chaîne d'observabilité (Grafana, Prometheus, Loki, Alertmanager). L'observateur n'habite pas la machine qu'il observe.

Ce que j'ai réalisé

  • J'ai provisionné les deux VM avec Vagrant, à partir du fichier de description fourni par le module, piloté depuis WSL sur un poste Windows 11.
  • J'ai déployé les services en conteneurs avec Docker Compose sur chaque machine.
  • J'ai câblé les deux sens de la communication entre VM : collecte des métriques dans un sens, envoi des journaux dans l'autre.
  • J'ai peuplé le scénario (base de données, documents Nextcloud).
  • J'ai validé l'environnement point par point avec une checklist.

Difficultés rencontrées et solutions

  • Dix incidents documentés, dont le temps de résolution dépasse celui du déploiement.
  • Parmi eux : traduction des permissions entre WSL et NTFS, gestion des adaptateurs réseau de l'hyperviseur, réécriture d'URL par une image Docker, validation plus stricte introduite par une nouvelle version d'un outil suivi en latest.
  • Le câblage réseau entre VM repose sur des adresses recopiées dans plusieurs fichiers, sans vérification automatique : j'ai vérifié chaque sens séparément.

Résultats

  • Les huit points de la checklist de validation sont vérifiés.
  • Sept cibles Prometheus actives dans un sens, environ cinquante-quatre mille lignes de journaux collectées dans l'autre.

Ce que j'en retiens

Décrire l'infrastructure dans un fichier versionné la rend reproductible : après un échec, détruire puis reconstruire donne un environnement propre. Les frictions réelles (versions, permissions, réseau) n'apparaissent pas dans un énoncé et seule la pratique les révèle. On ne supervise correctement que ce qu'on a soi-même monté.

Technologies

  • Vagrant
  • VirtualBox
  • WSL
  • Docker
  • Docker Compose
  • PostgreSQL
  • Nextcloud
  • Grafana
  • Prometheus
  • Loki
  • Alertmanager
  • Alloy
  • cAdvisor

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
Deux machines virtuelles : système observé et chaîne d'observabilité
Deux machines virtuelles : système observé et chaîne d'observabilité