Supervision d'un onduleur
dim. 01 nov. 2020 by MarmotteUn onduleur permet d'éviter une extinction brutale des machines lors de (micro)coupures de courant, mais aussi de les protéger d'éventuelles surtensions. Lors d'une coupure courte, sa batterie permet de ne pas avoir à éteindre les machines. Si la coupure de courant dure plus longtemps, elle permet tout de même d'avoir le temps d'éteindre le système.
Cet article sur la supervision est dédié aux informations que je récupère à propos de mon onduleur.
Communication avec l'onduleur¶
Je dispose d'un onduleur Eaton Ellipse Pro 650 USB.
Comme il est directement connecté en USB sur mon NAS, qui tourne sous Debian, je peux simplement utiliser nut
pour accéder à ses données
Installation¶
Sous Debian, il suffit d'installer le paquet nut-server
:
$ sudo apt install nut-server
Configuration¶
La configuration de nut
est découpée dans plusieurs fichiers.
Configuration du démon nut
¶
Le démon est configuré par le fichier etc/nut/nut.conf
.
À ce niveau, j'ai simplement configuré le paramètre MODE=standalone
.
Déclaration des onduleurs¶
Il faut ensuite déclarer les onduleurs accessibles depuis le système dans le fichier /etc/nut/ups.conf
:
[upsname]
driver = usbhid-ups
port = auto
desc = UPS Description
Note : Le driver à utiliser dépend de l'onduleur dont vous disposez. Une liste d'onduleurs connus est disponible dans le fichier
/usr/share/nut/driver.list
. Les onduleurs d'une même marque sont souvent compatibles avec le même driver, l'absence d'un onduleur dans cette liste n'empêche pas sa compatibilité.Note : Laisser le port sur
auto
permet à nut de détecter automatiquement l'onduleur. Dans le cas où il ne serait pas trouvé, ou si plusieurs onduleurs sont connectés sur la machine, il est nécessaire de préciser le périphérique correspondant (par exemple/dev/ttyS0
).
Déclaration des utilisateurs¶
Afin de sécuriser un minimum l'accès à l'onduleur, il est nécessaire de déclarer des utilisateurs. Ainsi, n'importe qui ne pourra pas lancer des commandes affectant le fonctionnement ou la configuration de l'onduleur.
Les utilisateurs doivent être déclarés dans le fichier /etc/nut/upsd.users
:
[username]
password = password
upsmon master
Note : La déclaration comme
master
permet d'éteindre la machine connectée à l'onduleur en dernier, dans le cas où des composants denut
seraient installés sur d'autres machines alimentées par le même onduleur.
Collecte des informations¶
Pour collecter les informations sur mon onduleur, j'utilise la bibliothèque nut2
.
Mon script est disponible sur Framagit.
Affichage des informations¶
Comme pour toutes les données stockées dans InfluxDB, j'ai créé un dashboard dans Grafana me permettant de les afficher. Le fichier json de ce dashboard est disponible ici.