Compléments
Monitoring
Le diagnostic donné par la commande diagnose
affiche également l'état du service nut
.
Si l'onduleur fonctionne normalement, le message ressemblera à :
Test de l'onduleur => Ok
En cas d'erreur (onduleur débranché ou non détecté), le message sera :
Test de l'onduleur => Error: Driver not connected
Commandes utiles
Un certain nombre de commandes sont livrées avec le paquet nut
:
/sbin/upsd
/sbin/upssched
/sbin/upsdrvctl
/sbin/upsmon
/bin/upsrw
/bin/upslog
/bin/upscmd
/bin/upsc
Exemples d'utilisation :
test d'une installation sans démarrer le service upsd :
upsdrvctl start
;test de l'arrêt du serveur sans avoir à attendre que la batterie soit vide :
upsmon -c fsd
;lister la configuration :
upsc <nomOnduleurDansGenConfig>@localhost
;modifier la configuration :
upsrw <nomOnduleurDansGenConfig>@localhost
.
Pour obtenir de l'aide et plus d'information sur les commandes il est possible d'utiliser le paramètre -h
.
Exemple
# upsc -h
ou
# upsrw -h
Surveillance de votre onduleur depuis votre poste client via un GUI
Il existe une application pour interroger le serveur nut
à distance : NUT Monitor.
Pour l'installer à partir d'Ubuntu 14.04 :
$ sudo apt-get install nut-monitor
Pour lancer l'application en ligne de commande sur votre poste :
$ NUT-Monitor
Se connecter au serveur avec la mire de connexion :

Visionner le statut de l'onduleur :

Voir et éditer les variables :

Conseil
L'application utilise le port 3493
qu'il faut penser à ouvrir pour accéder au serveur nut
.
Installation d'une interface de surveillance Web
nut-cgi
est un module permettant de consulter l'état de l'onduleur via votre navigateur.
Installation
Pour installer nut-cgi
sur le module :
# apt-get install nut-cgi
L'installation prend environ 12,2Mo.
Les NOUVEAUX paquets suivants seront installés : apache2-mpm-itk, apache2-utils, apache2.2-bin, apache2.2-common, libapr1, libaprutil1, libaprutil1-dbd-sqlite3, libaprutil1-ldap, libgd2-xpm, nut-cgi.
Contenu de l'archive
L'archive contient 3 exécutables stockés dan /usr/lib/cgi-bin/nut :
upsimage.cgi
générateur d'images et d'aide pour upsstats.cgi
upsset.cgi
configuration à distance
upsstats.cgi
consultation des statistiques
Configuration nut-cgi
Pour configurer nut-cgi
il faut éditer le fichier /etc/nut/hosts.conf
et ajouter une ligne du type :
# MONITOR nomOnduleur@machine "description"
Exemple :
MONITOR <nomOnduleurDansGenConfig>@localhost "Onduleur Scribe"
Configuration Apache
Créer un fichier /etc/apache2/sites-available/apache-nut.conf
dans lequel il faut ajouter les règles suivantes :
ScriptAlias /nut /usr/lib/cgi-bin/nut
<Directory /usr/lib/cgi-bin/nut>
Deny from all
Allow from 127.0.0.1 172.16.0.0/24
AllowOverride None
Options ExecCGI
</Directory>
Authentification de l'accès à l'interface Web
Il est possible de restreindre l'accès à l'interface nut-cgi
à des adresses IP ou à des sous-réseaux.
Dans l'exemple ci-dessus, l'accès à l'interface de surveillance est autorisé à tout le sous-réseau 172.16.0.0. Pour restreindre l'accès à des adresses IP données il faut modifier la ligne Allow from
comme ceci :
Allow from 127.0.0.1 172.16.0.10 172.16.0.11 172.16.0.12
Le serveur Web Apache permet d'authentifier les accès de différentes manières. Il est possible, par exemple, d'utiliser l'annuaire LDAP du serveur Scribe pour authentifier les accès à http://<adresse_serveur>/nut/
et les restreindre au groupe DomainAdmins
. Cette méthode remplace le filtrage d'accès par adresse IP/sous-réseau.
Exemple
Créer un fichier /etc/apache2/sites-available/apache-nut.conf
dans lequel il faut ajouter les règles suivantes :
ScriptAlias /nut /usr/lib/cgi-bin/nut
<Directory /usr/lib/cgi-bin/nut>
AuthType Basic
AuthName "Authentification Onduleur"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://localhost/o=gouv,c=fr?uid
AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
require ldap-group cn=DomainAdmins,ou=local,ou=groupes,ou=<NUMERO_ETABLISSEMENT>,ou=<NOM_ACADEMIE>,ou=education,o=gouv,c=fr
AllowOverride None
Options ExecCGI
</Directory>
<NUMERO_ETABLISSEMENT>
et <NOM_ACADEMIE>
: valeurs telles que renseignées dans l'interface de configuration du module.
Activation
Activer l'alias et recharger la configuration d'apache :
# a2ensite apache-nut.conf && service apache2 reload
Accéder à l'application
Pour accéder à l'application nut-cgi
, ouvrir un navigateur à l'adresse :
http://<adresse_serveur>/nut/upsstats.cgi

Accéder à l'interface de configuration
Pour accéder à l'interface de configuration nut-cgi
, il faut configurer les autorisations.
Créer le fichier /usr/lib/cgi-bin/nut/.htaccess
avec les adresses IP autorisées :
<Files upsset.cgi>
deny from all
allow from localhost <adresse_IP_autorisée>
</Files>
Éditer /etc/nut/upsset.conf pour décommenter la ligne I_HAVE_SECURED_MY_CGI_DIRECTORY :
###
I_HAVE_SECURED_MY_CGI_DIRECTORY
###
Les utilisateurs et les droits se configurent dans le fichier /var/lib/creole/upsd.users
.
Pour obtenir de l'aide :
# man upsd.users
Attention
La communication entre le service UPSD et les clients n'est pas chiffrée. Les mots de passe circulent donc en clair sur le réseau et peuvent donc être capturés. Le support d'OpenSSL semble être implémenté dans des versions plus récentes de NUT.
PyNUT un outil de développement Python
Ressources externes
Configurer et surveiller un onduleur avec NUT :
http://www.isalo.org/wiki.debian-fr/Configurer_et_surveiller_un_onduleur_avec_NUT
Installation et gestion d'un UPS USB en réseau sous GNU/linux