====== 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]]