Compléments

Monitoring

Après redémarrage du service z_stats, les agents Zéphir détectent la présence d'un onduleur configuré et l'observation se met en place.

État de l'onduleur dans l'agent Zéphir
État de l'onduleur dans l'agent Zéphir

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 :

Image sous licence CC Attribution-Share Alike 3.0 Unported par David - http://www.lestat.st
Image sous licence CC Attribution-Share Alike 3.0 Unported par David - http://www.lestat.st

Voir et éditer les variables :

Image sous licence CC Attribution-Share Alike 3.0 Unported par David - http://www.lestat.st
Image sous licence CC Attribution-Share Alike 3.0 Unported par David - http://www.lestat.st

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

Image sous licence Creative Commons BY-SA par Lol - http://www.isalo.org/wiki.debian-fr
Image sous licence Creative Commons BY-SA par Lol - http://www.isalo.org/wiki.debian-fr
Image sous licence Creative Commons BY-SA par Lol - http://www.isalo.org/wiki.debian-fr
Image sous licence Creative Commons BY-SA par Lol - http://www.isalo.org/wiki.debian-fr
Image sous licence Creative Commons BY-SA par Lol - http://www.isalo.org/wiki.debian-fr
Image sous licence Creative Commons BY-SA par Lol - http://www.isalo.org/wiki.debian-fr

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.

Pour accéder à l'interface de configuration ouvrir un navigateur à l'adresse :

http://<adresse_serveur>/nut/upsset.cgi

PyNUT un outil de développement Python

PyNUT est une classe d'abstraction écrite en Python permettant de se connecter à un serveur NUT[1] et d'exécuter différentes commandes sans avoir à connaître le protocole de communication.

http://www.lestat.st/informatique/projets/pynut

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

http://ovanhoof.developpez.com/upsusb/