Monitorizar un SAI en Linux.
Tengo, desde hace tiempo, una SAI para proteger mi equipo sobretodo de tormentas que cortan la energía durante algunos picos.
Aprovechando que tiene conexión USB para monitorizar me he puesto manos a la obra para hacerlo en mi KUbuntu 8.04.
El SAI en cuestión es un APC Back UPS ES 500 y lleva una conexión USB para gestión.
El programa que he elegido, por lo sencillo que parecía la instalación y uso, es Nut y realmente así ha sido.
En los repositorios tenemos disponible el paquete así que entramos a Adept o por consola e instalamos el paquete “Nut”.
Una vez hecho esto nos toca la configuración:
- Primero, si queremos que los demonios del Nut se arranque automáticamente editamos /etc/default/nut y hacemos las siguientes modificaciones:
# start upsd
START_UPSD=yes# start upsmon
START_UPSMON=yes - A continuación configuramos los ficheros del programa:
$ cp /usr/share/doc/nut/examples/*.conf /etc/nut$ cp /usr/share/doc/nut/examples/*.users /etc/nutHacemos una copia de los ficheros de ejemplo que vienen y los modificamos a nuestro gusto.
Primero editamos el fichero /etc/nut/ups.conf:
[kyln]driver = usbhid-upsport = autoEl nombre entre corchetes es cómo denominamos a nuestro SAI.
El driver depende del modelo que tengamos, se puede consultar en la siguiente lista.
Y el puerto ponemos automático para que lo detecte el demonio.Ahora editamos /etc/nut/upsd.conf y configuramos los permisos de acceso:
ACL localhost 127.0.0.1/32
ACL local_network 192.168.0.0/24
ACL all 0.0.0.0/0ACCEPT monitor localhost
ACCEPT local_network
REJECT all allCon esta configuración le decimos al demonio que permita las conexiones dentro de la red 192.168.0.xxx y que rechace al resto de direcciones.
Y por último editamos el fichero /etc/nut/upsd.users para definir qué usuarios pueden acceder:
[admin]
password = passwordadmin
allowfrom = localhost local_network
actions = SET
instcmds = ALL[monuser]
password = moni
allowfrom = localhost
upsmon masterEl código entre corchetes son los usuarios, password la contraseña de cada uno, allowfrom desde dónde deja el acceso (configurado en el fichero anterior), actions las acciones que el usuario puede realizar, instcmds los comandos que puede lanzar el usuario, upsmon master define el usuario que controlará el demonio y, si es necesario un cliente remoto se definiría la línea upsmon slave en el usuario correspondiente.
Por último configuraremos en el fichero /etc/nut/upsmon.conf las variables que controlaran el acceso de Nut al SAI. Mi fichero, por ejemplo:
MONITOR kyln@localhost 1 monuser moni master
RUN_AS_USER nut
MINSUPPLIES 1
SHUTDOWNCMD “/sbin/shutdown -h +0″
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpowerNOTIFYMSG ONLINE “UPS: Normal state”
NOTIFYMSG ONBATT “UPS: Cable communication error”
NOTIFYMSG LOWBATT “UPS: Battery low”
NOTIFYMSG FSD “UPS: Starting shutdown”
NOTIFYMSG COMMOK “UPS: Communication restored”
NOTIFYMSG COMMBAD “UPS: Communication lose”
NOTIFYMSG SHUTDOWN “UPS: Shutting down”
NOTIFYMSG REPLBATT “UPS: Replace battery”
NOTIFYFLAG ONLINE SYSLOG
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL
NOTIFYFLAG FSD SYSLOG+WALL
NOTIFYFLAG COMMOK SYSLOG
NOTIFYFLAG COMMBAD SYSLOG
NOTIFYFLAG SHUTDOWN SYSLOG
NOTIFYFLAG REPLBATT SYSLOGRBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5En la primera línea se especifica que queremos monitorizar el SAI kyln, conectado en la máquina local, que lleva sólo una batería, que el usuario es monuser y su contraseña. el resto de variables nos permiten configurar la sequencia de apagado y los estados del SAI.
- Una vez terminado de configurar el demonio lo reiniciamos:
$ /etc/init.d/nut restart - Si todo ha ido bien podremos consultar la información del SAI con el comando:
$ upsc kyln@localhost - También hay un paquete para monitorizar por Web el estado del SAI [nut-cgi], pero ya que no voy a dar acceso por Internet me he decidido por el programa gráfico Knutclient, también disponible en los repositorios oficiales.
- Una vez instalado, en preferencias metemos la dirección del SAI, normalmente localhost y el usuario y contraseña y ya nos dará toda la información.
Con esto ya disponemos de un ssitema de monitorización del SAI y podemos configurar que se apage el sistema si hay un corte de energía antes de que se agote la batería.


