Table des matières
Network UPS Tools
Installation
Installation paquet
sudo apt install nut
Prise en compte
- Raccorder l'onduleur en USB
- Rechercher l'onduleur dans la liste des périphériques USB
lsusb
Bus 001 Device 004: ID 0781:5567 SanDisk Corp. Cruzer Blade Bus 001 Device 006: ID 0463:ffff MGE UPS Systems UPS Bus 001 Device 005: ID 0424:7800 Microchip Technology, Inc. (formerly SMSC) Bus 001 Device 003: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub Bus 001 Device 002: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Dans ce cas de figure l'onduleur est le périphérique n°6 su le bus n°1.
Bus 001 Device 006: ID 0463:ffff MGE UPS Systems UPS
- Vérifier que le périphérique est bien associé au groupe nut
ls -l /dev/bus/usb/001
total 0 crw-rw-r-- 1 root root 189, 0 Apr 1 19:29 001 crw-rw-r-- 1 root root 189, 1 Apr 1 19:29 002 crw-rw-r-- 1 root root 189, 2 Apr 1 19:29 003 crw-rw-r-- 1 root root 189, 3 Apr 1 19:29 004 crw-rw-r-- 1 root root 189, 4 Apr 1 19:29 005 crw-rw-r-- 1 root nut 189, 5 Apr 1 19:32 006
crw-rw-r– 1 root nut 189, 5 Apr 1 19:32 006
Configuration
Mode
Editer le fichier /etc/nut/nut.conf pour indiquer le mode désiré :
- none : C'est la valeur par défaut après l'installation du paquet, elle indique que NUT n'a pas été configuré.
- standalone :
- Dans ce mode, l'onduleur est relié à la machine actuelle.
- Le monitorage de l'onduleur est effectué depuis cette même machine.
- Le démon nut doit lancer upsd et upsmon (en mode “master”).
- netserver :
- Dans ce mode, l'onduleur est relié à la machine actuelle.
- La gestion de l'onduleur est effectuée depuis un poste client sur le réseau.
- Le démon nut doit lancer upsd et upsmon (en mode serveur, c'est à dire en tant que “master”).
- netclient :
- Dans ce mode, l'onduleur n'est pas relié à la machine actuelle.
- La gestion de l'onduleur est réalisée depuis la machine actuelle vers la machine à laquelle est connectée l'onduleur via le réseau.
- Le démon nut doit lancer uniquement upsmon (en mode client, c'est à dire en tant que “slave”).
démon upsd
upsd est le démon responsable de la communication avec l'onduleur. Il est lancé lorsque NUT est configuré dans le mode standalone ou netserver.
/etc/nut/ups.conf
Ce fichier permet de déclarer les différents onduleurs. Exemple avec un onduleur Eaton avec driver USB :
[eaton] driver = usbhid-ups port = auto desc = "Eaton 3S 550"
Supprimer la ligne max_retry (paramètre inconnu au démarrage du service)
/etc/nut/upsd.conf
MAXAGE 15 LISTEN 127.0.0.1 3493 MAXCONN 1024
- MAXAGE : permet de définir l'intervalle maximum au-delà duquel l'état de l'onduleur sera considéré comme périmée
- LISTEN : permet de déclarer les PC qui pourront commander les onduleurs via upsd
- MAXCONN : permet de définir le nombre de clients, d'onduleurs et d'adresses maximum supportés.
/etc/nut/upsd.users
Ce fichier permet de configurer les accès au démon upsd. Seul les utilisateurs présents dans upsd.users seront habilités à connaître l'état de l'onduleur. Renseigner les paramètres pour l'administrateur et au moins un utilisateur de type “master”.
[admin] password = adminpass actions = SET instcmds = ALL [upsmonitor] password = userpass upsmon master
démon upsmon
Ajouter la ligne suivante dans le fichier /etc/nut/upsmon.conf
MONITOR eaton@localhost 1 ptl userpass "master"
Modifier la ligne suivante :
SHUTDOWNCMD "sudo /sbin/shutdown -h +0"
Mise en service
Démarrage services
sudo systemctl start nut-server sudo systemctl start nut-monitor sudo systemctl start nut-driver
Vérification
Interrogation services
systemctl status nut-server systemctl status nut-monitor systemctl status nut-driver
Interrogation onduleur
upsc eaton@localhost
Init SSL without certificate database battery.charge: 100 battery.charge.low: 20 battery.runtime: 3033 battery.type: PbAc device.mfr: EATON device.model: Eaton 3S 550 device.serial: Blank device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.data: MGE HID 1.40 driver.version.internal: 0.41 input.transfer.high: 264 input.transfer.low: 184 outlet.1.desc: PowerShare Outlet 1 outlet.1.id: 1 outlet.1.status: on outlet.1.switchable: no outlet.desc: Main Outlet outlet.id: 0 outlet.switchable: yes output.frequency.nominal: 50 output.voltage: 230.0 output.voltage.nominal: 230 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.firmware: 02.08.0010 ups.load: 7 ups.mfr: EATON ups.model: Eaton 3S 550 ups.power.nominal: 550 ups.productid: ffff ups.serial: Blank ups.status: OL ups.timer.shutdown: 0 ups.timer.start: 0 ups.type: offline / line interactive ups.vendorid: 0463
Activation services
sudo systemctl enable nut-server sudo systemctl enable nut-monitor sudo systemctl enable nut-driver
Scripts
passage sur batterie
Ajouter les paramètres suivants au fichier /etc/nut/upsmon.conf
NOTIFYCMD "/usr/local/bin/notify-on-battery.sh"
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
Le premier paramètre donne le script à exécuter, le deuxième indique d'envoyer une notification via SYSLOG, d'afficher un message à tous les utilisateurs connectés (WALL) et d'exécuter le script (EXEC)
