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

Doc Ubuntu