Monitor Web de SAI – UPS con una Raspberry Pi

Hace tiempo publiqué un tutoría que explicaba como monitorizar el estado de un SAI – UPS a través de una Raspberry Pi , de manera que cada vez que hubiera un corte de suministro la Raspberry nos enviará un mensaje de aviso a través de Telegram.

Llevo años usando este sistema en mi casa para saber si hay un corte de corriente, y cuanto tarda en reestablecerse,  pero en ocasiones he echado en falta acabar de configurar el sistema para por ejemplo conocer la salud del SAI sin necesidad de acceder a la consola… así que aprovechando el fin de semana he decidido ponerme con ello y automatizar dos procedimientos:

  • Monitorización del estado del SAI (100% carga de la batería, voltaje, capacidad, temperatura) a través de un navegador web.
  •  Monitorización del estado del SAI a través de Telegram, enviando un mensaje desde mi móvil a la Raspberry para que esta me conteste informando el estado del SAI.

En este post voy a explicar la primera opción, como consultar los principales valores del SAI a través del navegador de cualquier ordenador de nuestra red.

Pasos a seguir:

Partiendo de la base de que ya hemos configurado nuestra Raspberry como monitor de SAI (si no lo hemos hecho tendremos que hacerlo, ver tutorial).

Desde la consola/terminal de nuestra Raspberry  introduciremos los siguientes comandos, dirigidos a asegurarnos de que tiene la última versión de software.

sudo apt-get update
sudo apt-get upgrade

Instalamos el servidor web apache , las librerías necesarias para que pueda ejecutar .cgi y el programa que va a permitirnos acceder a los datos del SAI a través del navegador.

sudo apt-get install apache2 -y
sudo a2enmod cgi
sudo apt-get install apcupsd-cgi

Y editamos el fichero en el que se guardan los datos de las Raspberry a monitorear

sudo nano /etc/apcupsd/hosts.conf

a continuación entraremos en el fichero de configuración de Apache 

sudo nano /etc/apache2/apache2.conf

Buscaremos el siguiente apartado

<Directory />
   Options FollowSymLinks
     AllowOverride None
     Require all denied
</Directory>

Y lo dejaremos así (marco los cambios en negrita)

<Directory />
   #Options FollowSymLinks        
     AllowOverride None
     Require all granted
</Directory>

Iremos al final del fichero de configuración y añadiremos lo siguiente:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

y saldremos guardando los cambios pulsando CTRL + X.

Para que los cambios surtan efecto reiniciaremos  el servidor web Apache

sudo service apache2 restart

A partir de ese momento podremos ver el estado del SAI con tan solo introducir la siguiente dirección web en nuestro navegador:

http://ipdenuestraraspberry/cgi-bin/apcupsd/multimon.cgi

Abriéndose una página muy similar a la siguiente:

Haciendo clic sobre el campo System, que en mi ejemplo se informa como Local Host , accederemos a una pantalla más completa desde donde podremos acceder a información más detallada

Si habéis seguido las instrucciones, y antes habéis configurado vuestra Raspberry como monitor de SAI, como se explica en una publicación anterior, os va a funcionar sin mayor problema. De todos modos, si necesitáis ayuda no dudéis en contactarme.

Para los usuarios más avanzados a continuación explicaré los pasos a seguir para poder monitorizar más de un SAI (conectado a Raspberry a la vez).

Para ello hay que cambiar la configuración de apcupsd en dos ficheros:

En /etc/apcupsd/apcupsd.conf hay que modificar los valores por los siguientes:

NETSERVER on   (para aceptar llamadas entrantes desde otros equipos)

NISIP 0.0.0.0    (para especificar que direcciones IP aceptaremos)

En /etc/apcupsd/apcupsd.conf informaremos la lista de equipos a monitorizar, ver ejemplo

Para que los cambios surtan efecto tendremos que reiniciar el servicio con

sudo service apcupsd restart

Siguiendo el ejemplo anterior, si vamos a la dirección

http://ipdenuestraraspberry/cgi-bin/apcupsd/multimon.cgi

en este caso veremos tantos SAI como hayamos configurado

Visualizando varios SAI

Web mostrando varios equipos

Salu2

 

Santi

Anuncio publicitario