UPS Eaton/MGE Ellipse: Monitoring avec NUT sous Ubuntu Server 10.10

Si l’installation d’une alimentation sans interruption (UPS: Uninterruptible Power Supply) est une mesure de sécurité parfaitement efficace contre les micro-coupures, le contrôle de son fonctionnement demeure inévitable pour anticiper des coupures plus importantes. Network UPS Tools (NUT) est une solution efficace de monitoring sous Linux. Il supporte un grand nombre de modèles d’onduleurs, et notamment ceux de la marque Eaton (anciennement MGE).

La procédure suivante est a adapter au matériel utilisé.

Système d’exploitation: Ubuntu Server 10.10
UPS
: Eaton Ellipse 600 ASR USB
Connectique
: Cable USB

1– Installation de Network UPS Tools

 apt-get install nut

Après avoir interconnecté l’UPS au serveur via le cable usb, passer la commande « lsusb » pour déterminer le bus utilisé

lsusb
Bus 002 Device 005: ID xxxx:xxxx MGE UPS Systems UPS
...

Puis affecter le periphérique au groupe « nut »

chgrp nut /dev/bus/usb/002/005

La commande « ls » devrait ainsi afficher les droits correspondants

ls -l /dev/bus/usb/002
crw-rw-r-- 1 root nut 189, 129 2011-xx-xx xx:xx 005

2– Configuration de Network UPS Tools
Editer /etc/nut/nut.conf et modifier la valeur du paramètre MODE:

 MODE=netserver


NUT se compose de deux démons. Upsd est en charge de communiquer avec l’UPS connecté localement, et Upsmon permet d’interroger Upsd en local ou a distance, et de définir des alertes.

Configuration de Upsd:

– Editer /etc/nut/ups.conf et déclarer le materiel:

 [myups] #Nom du périphérique déclaré
 driver = usbhid-ups #Driver à utiliser (voir liste)
 port = auto
 desc = "EATON Ellipse ASR USBS 600" #Description destinée au client Upsmon

– Editer /etc/nut/upsd.conf et ajouter les paramètrages suivants:

 MAXAGE 15 #Durée maximale d'un état
 LISTEN 192.168.X.X 3493 #IP et port d'écouté
 MAXCONN 32 #Nombre maximal de connections simultanées


– Editer /etc/nut/upsd.users et créer les utilisateurs (administrateur et superviseur):

[admin]
 password = xxx
 actions = SET
 instcmds = ALL

[monitor]
 password  = xxx
 upsmon master

Configuration de Upsmon:
La configuration par défaut de /etc/nut/upsmon.conf se révèle satisfaisante pour le poste connecté a l’UPS. Elle se réfère donc au serveur Upsd local et automatise l’instinction du poste lorsque la batterie est détectée comme faible.

Pour les poste distants, il faudra configurer Upsmon selon les paramétrages suivants:

 MONITOR myups@localhost 1 monitor xxx "master" #Machine et identifiants de monitoring
 MINSUPPLIES 1 #Nombre minimal de périphérique
 FINALDELAY 5 #Délai d'instinction aprés notification
 HOSTSYNC 15 #Délai pour les client Upsd distants
 SHUTDOWNCMD "/sbin/shutdown -h +0" #Commande exécutée
 POWERDOWNFLAG /etc/killpower #Fichier de sortie
 POLLFREQ 5 #Délai de rafraichissement du statut de l'UPS
 POLLFREQALERT 5 #Délai de rafraichissement du statut de l'UPS lorsqu'il est sur batterie
 DEADTIME 15 #Delai avant lequel l'UPS est considéré comme HS
 NOCOMMWARNTIME 300 #Délai de notification lorsque l'UPS est HS
 RBWARNTIME 43200 #Fréquence des notification de changement de batterie

Un module Nut existe sur pfSense.

Monitoring via pfSense (module nut)

Pour les machines sous Windows, il existe WinNUT. Il peut tourner en tant que service et se configure de la même manière, en éditant le fichier upsmon.conf. La version 2.0.0.3 prend en charge la mise en veille prolongée. Sous Windows 7, il faudra le lancer en mode compatibilité Vista.


Sources et Informations connexes:
Site Officiel NUT: http://www.networkupstools.org/
Fiche produit Ellipse 600: http://powerquality.eaton.com/66765.aspx?CX=80
Guide NUT sur Developpez.com: http://ovanhoof.developpez.com/upsusb/
EATON UPS Software (Windows/Linux32-64): http://download.mgeops.com/explore/eng/ptp/ptp_sol.htm
Modèle NUT pour graphiques Cacti: http://www.eric-a-hall.com/software/cacti-nut/