Monitorizando mi #RaspberryPi con rpimonitor en #openSUSE

En este artículo veremos cómo monitorizo mi Raspberry Pi instalando el paquete rpimonitor en openSUSE Tumbleweed.

Geeko y Tux con mi RaspberryPi

Rpimonitor es una aplicación de monitorización diseñada para ejecutarse en una Raspberry Pi. Ofrece una interfaz web para mostrar el estado, información y gráficos de nuestra Raspberry Pi.

Está publicado bajo licencia GPLv3 y gracias al trabajo del usuario malcolmlewis está disponible para openSUSE. Gracias a malcolmlewis, no sólo por empaquetarlo para openSUSE, si no también por su ayuda por el IRC que me ofreció para ponerlo en marcha.

Veamos el proceso.

RPi-monitor

 

Por razones de rendimiento y seguridad, rpimonitor separa la extracción de información de cómo presenta la información.

La extracción de información se realiza mediante un proceso diseñado para ejecutarse como un “demonio” que puede ser ejecutado como superusuario del sistema

rpmonitord es un script en perl que también pone en marcha un servidor web embebido que da acceso a las diferentes páginas. El servidor web corre en un proceso separado y el “propietario” del proceso es un usuario sin derechos de superusuario.

La presentación de la información se realiza en páginas HTML5. Estas páginas descargan de manera dinámica la información extraida del script mencionado antes y realizan el renderizado en un formato elegante (utilizando bootstrap, jquery, jsqrencode, javascriptrrd y flot). Esta arquitectura tiene la ventaja de descargar el trabajo del servidor y delegar el proceso y renderizado al cliente.

Desde la versión 2.0 de rpimonitor, los datos extraidos y la información que presenta son completamente configurables. Hay que tener en cuenta, que el servidor embebido no ofrece un control de acceso o autentificación. Es posible no utilizar el servidor web que se ofrece y utilizar un servidor web externo para mostrar las páginas (por ejemplo ngnix).

Lo primero que tendremos que hacer para ponerlo en marcha en nuestro openSUSE, es añadir el repositorio personal de malcolmlewis que tiene en OBS y donde entre otros paquetes está disponible rpimonitor para openSUSE.

Por tanto abriremos YaST y añadiremos esta dirección del repositorio. Y después aceptamos la clave y confiamos en el repositorio:

https://download.opensuse.org/repositories/home:/malcolmlewis:/SLES12-SP2-RPI-Extra/openSUSE_Factory_ARM/

Añadido el repositorio, ya podremos instalar el paquete en openSUSE, bien mediante la línea de comando o mediante YaST. Buscamos rpimonitor y lo instalamos, junto con todas las dependencias necesarias para que todo funcione.

Hecho esto deberemos configurar todo para que nos funcione adecuadamente. Lo primero borrar el archivo de configuración y hacer que apunte a un nuevo archivo:

rm /etc/rpimonitor/data.conf
ln -s /etc/rpimonitor/template/openSUSE.conf /etc/rpimonitor/data.conf

Depués de eso deberemos configurar un poco la pantalla de bienvenida de nuestra RaspberryPi para que se muestre acorde con lo que tenemos instalado, para ello editamos el archivo de configuración en la siguiente ruta marcando y desmarcando aquello que queramos:

/etc/rpimonitor/data.conf

Ya podemos lanzar los dos servicios que necesitamos mediante:

systemctl start rpimonitord.service
systemctl start shellinaboxd.service

Si realizamos cualquier cambio en algún archivo de configuración, deberemos volver a lanzar los servicios para que estos sean tenidos en cuenta. Para relanzar, basta con cambiar el “start” por “restart” en cualquiera de los comandos anteriores.

Si queremos que se ejecuten automáticamente en cada reinicio de nuestra RaspberryPi, deberemos sustituir “start” por “enable” en los dos comandos anteriores.

Ya podremos acceder a nuestro RPi-monitor desde el navegador web, accediendo a la dirección local de nuestra RaspberryPi en nuestra red por el puerto 8888. Por ejemplo: 192.168.1.55:8888.

Si tenéis corriendo algún tipo de cortafuegos, deberéis abrir ese puerto para que el navegador acceda a la página web con toda la información.

También está disponible shellinabox, desde donde podremos registrarnos mediante ssh a nuestra RaspberryPi y poder gestionarla desde el navegador.

Shellinabox se conecta a la misma dirección ip local de nuestra RaspberryPi pero mediante el puerto 4200, por tanto también este habrá que abrirlo si tenemos un cortafuegos configurado.

Para ello deberemos editar el archivo /etc/rpimonitor/daemon.conf y añadir la ip y el puerto por el que se conectará a nuestra RaspberryPi, en el caso del ejemplo:

daemon.shellinabox=https://192.168.1.55:4200/

Al conectarnos a shellinabox nos dará un error, ya que utiliza un certificado autofirmado, por tanto deberemos añadir una excepción en nuestro navegador mediante, en Firefox se realiza mediante: Preferencias →Privacidad y seguridad→Certificados→añadir excepción y poniendo nuestra ip local y puerto, en el ejemplo: 192.168.1.55:4200.

Ahora no queda más que ir echando vistazo a las estadísticas, me daba un error de archivo no adecuado. Tuve que ejecutar el comando como root:

touch /var/lib/rpimonitor/stat/uptime.rrd

Y ya después sí que me mostraba todas las estadísticas correctamente. No recuerdo si después de ejecutarlo tuve que reiniciar los servicios….

Y eso en esencia creo que fue todo el proceso, espero no haberme quedado nada en el tintero… Me pareció una herramienta muy interesante.

Espero que os resulte interesante la herramienta y que si queréis probarla lo hagáis en vuestra Raspberry Pi, ya sea con openSUSE o en cualquier otra distribución…

Después ya es cosa de imaginar y por ejemplo redireccionar el puerto 8888 en vuestro router a la ip local de la RaspberryPi, y así poder acceder a ella desde otro equipo fuera de vuestra red local conectado a internet…

Enlaces de interés

———————————————————————————–

2 pensamientos en “Monitorizando mi #RaspberryPi con rpimonitor en #openSUSE

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s