Présentation de la solution Nut
Nut est une plateforme open-source conçue pour centraliser la gestion et le monitoring des équipements d'alimentation électrique. Principalement utilisé pour superviser les onduelurs (UPS), les unités de distribution d'énergie (PDU) et les contrôleurs solaires, ce projet permet de maintenir une visibilité constante sur l'état énergétique des infrastructures. Il offre des mécanisems d'alerte et de réaction automatique en cas de défaillance du réseau électrique, garantissant ainsi l'intégrité des données et du matériel.
Déploiemant rapide avec Docker
Pour mettre en œuvre Nut de manière isolée et reproductible, l'utilisation de conteneurs est recommandée. Voici les étapes pour initialiser l'environnement :
# Récupération du dépôt source
git clone https://github.com/matthieudelaro/nut.git
cd nut
# Construction de l'image personnalisée
docker build -t nut-service:latest .
# Lancement de l'instance de surveillance
docker run -d \
--name ups-monitor-node \
-p 3493:3493 \
nut-service:latest
Configuration des périphériques
La définition des équipements se fait via les fichiers situés dans le répertoire conf. Pour déclarer un nouvel onduleur, modifiez le fichier de configuration en suivant cette structure :
# Exemple de configuration dans nut.conf ou ups.conf
[mon-onduleur-usb]
driver = "usbhid-ups"
port = "auto"
vendorid = "051d"
desc = "Onduleur Principal Salle Serveur"
Une fois la configuration éditée, le service doit être initialisé à l'intérieur du conteneur pour prendre en compte les nouveaux paramètres :
docker exec -it ups-monitor-node nut-client start
Cas d'usage et stratégies opérationnelles
Supervision de centres de données
Dans un environnement de production, Nut permet de fédérer plusieurs onduleurs au sein d'une interface unique. Les administrateurs peuvent suivre en temps réel la charge (load), la tension d'entrée et l'autonomie restante des batteries. Cela permet de planifier des arrêts propres des serveurs (graceful shutdown) avant l'épuisement total des ressources énergétiques.
Intégration domotique
Nut s'intègre parfaitement aux écosystèmes de maison connectée. En exposant les données de l'onduleur, il devient possible de déclencher des scénarios automatisés, comme l'extinction de périphériques non essentiels ou l'envoi de notifications mobiles dès qu'une coupure de courant est détectée sur le secteur.
Pratiques recommandées
- Persistance des données : Montez des volumes Docker pour les fichiers de configuration afin d'éviter la perte de paramètres lors d'une mise à jour de l'image.
- Analyse des journaux : Consultez régulièrement les sorties de
docker logs ups-monitor-nodepour identifier les micro-coupures ou les signes de fatigue des batteries. - Sécurisation des flux : Limitez l'accès au port 3493 via un pare-feu ou un VPN pour restreindre la consultation des données énergétiques aux seuls hôtes autorisés.
Composants de l'écosystème
Le projet s'appuie sur plusieurs briques logicielles complémentaires :
- Network UPS Tools (NUT) : Le moteur principal gérant les protocoles de communication avec le matériel.
- PyNUTClient : Une bibliothèque Python permettant de développer des scripts personnalisés ou des interfaces graphiques tierces pour interroger le serveur Nut.
- Couche de sécurité TLS : Des extensions permettent de chiffrer les échanges entre le serveur de monitoring et les clients distants, assurant ainsi la confidentialité des informations d'état du réseau.