Monitorear UPS (SAI)
Introducción
Un UPS (Uninterruptible Power Supply) o SAI (Sistema de Alimentación Ininterrumpida) es un dispositivo que puede proporcionar energía eléctrica tras un apagón a todos los dispositivos que tenga conectados. Estos dispositivos pueden ser monitoreados por medio de su conexion a un computador o a través de una red de datos, para ello en Linux podemos utilizar el paquete NUT. Network UPS Tools (NUT) es una colección de programas que proveen una interfaz común para monitorear y administrar uno o varios SAI.
Para esta guía se ha utilizado un SAI APC Modelo Back-UPS RS 1500 LCD, el cual esta conectado por medio del puerto usb a un computador con Ubuntu 8.04. El procedimiento aquí mostrado debe funcionar para cualquier distribución basada en Debian, aunque es posible que por la particularidad de cada distribución se haga necesario hacer alguna modificación al mismo.Instalación
Para instalar NUT por medio de aptitude, ejecutamos el siguiente comando :
$ aptitude install nut nut-usb nut-cgi
o seleccionamos esos paquetes desde Synaptic.
Configuración
- Editar el archivo /etc/default/nut y colocar los siguientes valores :
START_UPSD=yes
START_UPSMON=yes
Nota: Si en el directorio /etc/nut no estan creados los archivos que se utilizan a continuación, éstos se pueden copiar de el directorio /usr/share/doc/nut/example
- Editar el archivo /etc/nut/ups.conf para crear la referencia al UPS a monitorear :
[id_sai]
driver = usbhid-ups
port = auto
desc = "UPS en Servidor X"
donde :
id_sai : Identificador del SAI
driver : Programa a utilizar para monitorear el SAI. Ver el cuadro de compatibilidad. Para SAI conectados por usb también se puede usar el driver newhidups.
port : Puerto por donde se conecta el SAI. En este caso se coloca auto por estar conectado por puerto usb. En caso de que la conexión sea por cable serial se debe colocar el dispositivo respectivo (usualmente /dev/ttyS0).
desc : Descripción del SAI
- En el archivo /etc/nut/upsd.conf configuramos las listas de control de acceso :
ACL localhost 127.0.0.1/32
ACL maquina1 172.16.2.3/32
ACL maquina2 172.16.2.6/32
ACL all 0.0.0.0/0
ACCEPT localhost
ACCEPT maquina1
ACCEPT maquina2
REJECT all
En cada linea ACL se asocia un nombre con una dirección IP, que puede ser un equipo o una red. Luego de definir los ACL, se procede a dar permiso de acceso a los equipos de monitoreo y por último se niegan todos los accesos.
- Configurar los usuarios en el archivo /etc/nut/upsd.users
[admin]
password = clave_admin
allowfrom = localhost
actions = SET
instcmds = ALL
[monuser]
password = clave_monuser
allowfrom = localhost
upsmon master
- Editar el archivo /etc/nut/upsmon.conf para configurar el demonio upsmon, agregándole la siguiente línea :
MONITOR id_sai@localhost 1 monuser clave_monuser master
Con esta línea le indicamos a upsmon que queremos monitorizar el SAI llamado id_sai, que está conectado al equipo local (localhost), que tiene 1 batería, el usuario es monuser, la clave es clave_monuser y estamos en modo master.
En este archivo podemos colocar todas las referencias a los SAI que queremos monitorear.
Dado que hay unos archivos que contienen la identificación de usuario y su clave, es conveniente proteger éstos archivos :
$sudo chmod root:nut *
$sudo chmod 640 *
Ejecutar
Para ejecutar NUT usamos el siguiente comando :
$sudo /etc/init.d/nut start
Verificamos que todo esta bien consultando los datos del SAI :
$upsc id_sai@localhost
Notas
Si el SAI esta conectado por puerto serial se debe añadir el usuario nut al grupo dialout, que es el grupo propietario de dichos puertos (/dev/ttyS0), por ejemplo :
$sudo adduser nut dialout
Fuentes :
- http://www.networkupstools.org/doc/2.2.0/INSTALL.html
- http://opensource.mgeups.com/install/debian.htm
- http://crysol.inf-cr.uclm.es/node/82
- http://m3n3chm0.wordpress.com/2007/04/23/monitorizacion-de-un-sai-con-linux/
- http://blog.lebrijo.com/?p=75&language=es
- http://el64.blogspot.com/2008/04/configurar-un-sai-en-debian-o-ubuntu.html
- http://keystoneit.wordpress.com/2006/09/25/network-ups-tools-nut-on-ubuntu/