====== 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 =====
Penser à rendre accessible et exécutable les 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)
----
===== Sources =====
[[https://doc.ubuntu-fr.org/nut|Doc Ubuntu]]