Mise en place d’un Conteneur de Supervision pour NAS

bezzel

L’administration d’un serveur NAS hébergeant de multiples services conteneurisés requiert une visibilité granulaire sur l’allocation des ressources matérielles. Face à des anomalies de performance telles qu’une saturation inexpliquée du processeur ou une activité intensive et inattendue des disques durs, les interfaces de gestion standards (comme Portainer ou OpenMediaVault) s’avèrent souvent insuffisantes pour cibler avec précision la source du problème. Cet article détaille la procédure technique pour déployer une solution de supervision légère, permettant d’analyser les métriques système en temps réel et de conserver un historique d’activité. Cette approche transforme le diagnostic à l’aveugle en une maintenance proactive et factuelle de votre infrastructure.

🎯 Le Contexte : Pallier le Manque de Télémétrie Native

La nécessité d’intégrer un outil de monitoring dédié survient généralement lors de pics d’utilisation matérielle anormaux, se traduisant par un déclenchement bruyant de la ventilation ou une latence globale du système. Dans l’environnement de production analysé, l’objectif initial était d’identifier précisément quel service accaparait les ressources. Sans observabilité, il est complexe de deviner qu’un service de gestion de photos (comme Immich) effectue des tâches de compression vidéo en arrière-plan. L’outil sélectionné ici se distingue par sa très faible empreinte sur le processeur (CPU) et sa capacité à historiser des données critiques telles que l’usage de la mémoire RAM, les entrées/sorties (E/S) des disques et la bande passante réseau par conteneur.

🛠️ Déploiement de la Pile via Docker Compose

L’installation du service s’effectue au travers de l’interface Portainer, bien que la logique et la syntaxe restent identiques pour un déploiement sous OpenMediaVault.

  1. Création de la Stack : Initiez un nouveau fichier de configuration Docker Compose au sein de votre gestionnaire.

  2. Configuration des Volumes : Définissez des chemins d’accès persistants pour les répertoires de données (data) et de configuration. Cette rigueur structurelle garantit la sauvegarde de l’historique de supervision en cas de redémarrage ou de mise à jour du conteneur.

  3. Attribution des Ports : Le service de surveillance expose nativement le port 8090. Il est impératif de s’assurer que ce port n’entre pas en conflit avec d’autres services déjà hébergés sur l’adresse IP du serveur.

  4. Déploiement Initial : Lancez l’instanciation de la stack une première fois. À ce stade, la clé d’authentification environnementale n’est pas requise ; elle sera générée lors de l’initialisation logicielle.

Docker-compose:
services: 
 beszel:
 image: henrygd/beszel:latest
 container_name: beszel
 restart: unless-stopped
 ports: - "8090:8090"
 volumes: - /srv/dev-disk-by-uuid-6e4d03aa-5335-4581-9aae-edd258c3dc46/config/beszel_data:/beszel_data
 beszel-agent:
 image: henrygd/beszel-agent:latest
 container_name: beszel-agent
 restart: unless-stopped
 network_mode: host
 volumes:
 - /var/run/docker.sock:/var/run/docker.sock:ro
 environment:
  PORT: 45876
  KEY: ''
  HUB_URL: 'http://192.168.1.43:8090'

🔐 Configuration de l’Interface Web et Liaison de l’Agent

Une fois le conteneur déployé avec succès, la liaison entre l’interface de visualisation et les métriques du système s’opère via le navigateur.

  1. Création du Compte Administrateur : Accédez à l’application web via l’URL http://[IP_DU_NAS]:8090. Renseignez une adresse e-mail valide qui fera office d’identifiant unique de connexion.

  2. Ajout de l’Environnement à Superviser : Sur le tableau de bord vierge, sélectionnez l’option permettant d’ajouter un nouveau système matériel.

  3. Génération des Identifiants de Connexion : Attribuez un nom d’identification (ex: « NAS ») et confirmez son adresse IP. Le système générera alors une clé cryptographique indispensable pour autoriser l’agent à collecter les métriques. Il est crucial de copier cette clé avec précision.

  4. Mise à Jour de la Stack : Retournez dans l’interface Portainer, éditez la configuration de votre Docker Compose en y insérant la clé précédemment copiée en tant que variable d’environnement, puis appliquez la mise à jour. Les données commenceront instantanément à alimenter l’interface de supervision.

🌐 Intégration Optionnelle au Tableau de Bord (Homepage)

Pour une administration centralisée et ergonomique, il est recommandé d’intégrer un accès direct vers ce nouvel outil au sein de votre portail d’accueil (de type Homepage).

  1. Ouvrez votre éditeur de code (tel que VS Code) relié aux fichiers de configuration de votre serveur.

  2. Localisez et éditez le fichier de configuration des services (services.yaml).

  3. Ajoutez un nouveau bloc déclaratif dans la catégorie pertinente, en spécifiant le nom de l’outil de supervision et l’URL pointant vers le port 8090.

  4. Sauvegardez le fichier. L’interface globale s’actualisera dynamiquement pour afficher ce nouveau raccourci d’administration.

📊 Exploitation des Métriques et Diagnostic Avancé

Après une période d’accumulation de données (généralement 24 heures), l’outil déploie son plein potentiel analytique.

  • Analyse Historique : Les graphiques de charge permettent de corréler des événements matériels nocturnes avec des tâches planifiées. Il devient aisé de visualiser un pic d’activité à 1h du matin lié à un script de sauvegarde de disques, ou à 2h du matin pour des tâches d’indexation multimédia.

  • Diagnostic en Temps Réel : Face à une sollicitation anormale des disques (I/O) ou du processeur, le tableau de bord met en évidence les conteneurs problématiques en temps réel (souvent signalés par des indicateurs visuels d’alerte).

  • Résolution d’Incidents : L’outil permet d’isoler des comportements déviants. Par exemple, une lecture en boucle sur les disques de stockage peut être rapidement imputée à un conteneur spécifique (comme une instance VS Code en cours de scan d’arborescence). La fermeture du conteneur identifié résout l’incident instantanément, prouvant l’efficacité de la démarche.

  • Configuration d’Alertes : L’application propose l’envoi de notifications par courrier électronique, offrant aux administrateurs la possibilité d’être alertés proactivement en cas de franchissement de seuils de charge critiques.

En conclusion, l’intégration d’un conteneur de supervision dédié constitue une évolution indispensable pour quiconque administre une infrastructure domestique ou professionnelle sur NAS. Cette approche offre une observabilité maximale pour un coût en ressources minime. Elle permet de substituer les suppositions à une analyse factuelle immédiate, garantissant ainsi la pérennité matérielle des disques et la stabilité de l’écosystème logiciel.

Retour en haut