Home Instalación de Glances en Raspberry Pi y conexión a Home Assistant
Post
Cancel

Instalación de Glances en Raspberry Pi y conexión a Home Assistant

Instalamos Glances para monitorear estadísticas de nuestra Raspberry Pi (temperatura, uso, memoria, etc.) y lo integramos en Home Assistant.

¿Qué es Glances?

Glances es un software de monitorización multiplataforma escrito en Python muy ligero que sirve para extraer y/o consultar estadísticas de nuestros sistemas ya sean Windows, GNU/Linux, macOS, etc. Nos permite ver en tiempo real datos relevantes cómo temperatura de cada núcleo, memoria del sistema utilizada, procesos que se están ejecutando, espacio de disco libre, etc.

Puede ejecutarse cómo cliente y nos permite ver los datos desde una interfaz muy simple pero aquí vamos a aprovechar su funcionalidad ‘remota’ para instalarlo en una Raspberry Pi 3 de forma que podamos consultar todas sus estadísticas desde el navegador (la Raspberry no tendremos que conectarla a ningún monitor), pero además usaremos la integración que proporciona Home Assistant para generar gráficas y métricas en nuestro sistema domótico y tener todos los datos centralizados.

Por último, ya que hemos tocado el tema de Home Assistant veremos lo simple que es instalar el add-on oficial de Glances para HASS y extraer datos también de nuestro sistema domótico.

Lista de componentes

  • Una Raspberry Pi (o cualquier otro sistema que vayamos a monitorear y que esté soportado por Glances).
  • Nuestro ordenador de trabajo con conexión a internet.
  • Nuestro sistema domótico con Home Assistant (sólo si queremos conectarlo a este).
  • Unos 10~15 minutos de tiempo libre.

Instalación

Vamos a comenzar por conectarnos a la Raspberry mediante SSH, si estamos usando cualquier otro sistema este proceso será distinto y si la Raspberry está conectada a un monitor será innecesario (y sólo tendremos que abrir una terminal) pero en el caso de no estarlo, en ESTA entrada vimos cómo conectarnos vía SSH a nuestra Raspberry para operar en ella de forma remota.

Todo esto desde la consola de Windows mediante ssh [email protected] y ya estaremos delante de la terminal.

Terminal SSH conectado a Raspberry Pi

La instalación es tremendamente simple en sistemas GNU/Linux, tan sólo consta de un único comando, aunque aquí somos partidarios de hacer el clásico update/upgrade cada vez pero esto no es necesario.

1
2
3
sudo apt update && apt upgrade -y

sudo apt install glances

Esperamos unos minutos y la instalación se completará sola. Ahora lo que vamos a configurar es un crontab para que Glances se ejecute en modo web automáticamente aunque el dispositivo se reinicie. Glances se ejecuta escribiendo únicamente glances en la consola pero de acorde a la documentación podemos añadir flags del tipo -s -w -c para especificar en que modo queremos que se lance, a nosotros nos interesa el comando glances -w que ejecuta Glances en modo web para poder acceder desde la IP 192.168.X.X:61208 dónde 61208 es el puerto por defecto para Glances (si no lo modificamos).

Para crear el crontab escribimos: crontab -e que indica que queremos editar un crontab; el terminal nos pedirá elegir que editor de texto queremos usar, yo uso nano pero es irrelevante. Se nos abrirá un fichero con algunos comentarios en el que vamos a añadir el comando que hemos comentado antes (glances -w) pero con un añadido:

1
@reboot glances -w

@reboot indica que queremos ejecutar este comando tras un reinicio.

Fichero crontab

Guardamos los cambios (en nano, hacemos ‘Ctrl + X’, escribimos ‘y’ y pulsamos ‘Intro’). Sólo nos queda reiniciar, para lo cual escribimos sudo reboot y listo, perderemos conexión en unos segundos ya que el dispositivo se reiniciará, así que podemos cerrar ya la consola y esperamos un par de minutos a que todo inicie.

Glances desde el navegador

Podemos acceder desde el navegador para ver que todo ha ido bien usando la IP del dispositivo, 192.168.X.X:61208.

Vistazo desde el navegador

Como vereís la interfaz es ridículamente simple; a continuación vamos a ver como conectar esto a Home Assistant para que estos datos podamos tratarlos como entidades en Hass.

Glances en Home Assistant

Conexión

La conexión a HASS es inmediata mediante una integración configurable desde la interfaz; vamos a Configuración > Integraciones > Añadir Integración > Glances y rellenemos los datos, que sólo serán el nombre y la IP del dispositivo:

Nueva integración Home Assistant

Automáticamente veremos que se ha añadido una nueva integración con múltiples entidades (el nº variará dependiendo del tipo de dispositivo dónde hemos instalado Glances).

Integración creada Home Assistant Entidades asociadas a la integración

Glances como add-on de Hass

¿Y si queremos instalar Glances para extraer todos estos datos de nuestro propio sistema domótico en lugar de otro dispositivo? Home Assistant con Supervisor cuenta con un add-on oficial para ello. Vamos a Supervisor > Tienda de complementos (add-ons) > Glances > Instalar. Una vez instalado, vamos a su configuración y podemos, si queremos, añadir un usuario/contraseña (username/password) además de añadir el soporte para SSL (ssl) si estamos usando Home Assistant de forma remota con un certificado válido.

Configuración Home Assistant

Guardamos los cambios e iniciamos el add-on (es posible que necesitemos desmarcar la opción de ‘Modo de protección‘ para que pueda funcionar). En unos segundos estará ejecutándose en modo cliente por lo que si queremos ver los datos, debemos hacer lo mismo que antes; vamos a Configuración > Integraciones > Añadir Integración > Glances y el único cambio es el apartado de ‘Host‘ donde especificaremos ‘localhost‘ en lugar de una IP.

Add-on de Glances en Home Assistant

Vista desde la interfaz Lovelace

Cómo en otras entradas, he aprovechado para mostrar los datos de forma más práctica a través de la interfaz de Home Assistant. Para ello estoy usando una integración personalizada para la interfaz llamada mini-graph-card y stack-in-card. Si no sabes cómo instalar integraciones externas, lo trato en ESTA entrada.

La configuración es tal que así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
type: custom:stack-in-card
mode: vertical
cards:
      - type: horizontal-stack
        title: Raspberry Pi 3B
        cards:
          - type: custom:mini-graph-card
            entities:
              - sensor.glances_raspberry_pi_3_cpu_load
            line_color: red
            line_width: 8
            font_size: 75
            name: CPU
            margin: true
          - type: custom:mini-graph-card
            entities:
              - sensor.glances_raspberry_pi_3_ram_used
            line_color: yellow
            line_width: 8
            font_size: 75
            name: RAM
            margin: true
          - type: custom:mini-graph-card
            entities:
              - sensor.glances_raspberry_pi_3_used
            line_color: green
            line_width: 8
            font_size: 75
            name: Disco
            margin: true

Y la tarjeta en la interfaz Lovelace quedará así:

Vistazo tarjeta Lovelace

Notas finales

No hemos tratado la forma de definir unas credenciales en la instalación de Glances en la Raspberry Pi pero si queremos especificar un usuario/contraseña, podemos hacerlo mediante ‘flags’ tras la instalación. Antes de configurar el crontab, ejecutamos Glances por primera vez añadiendo (además de la -w), los comandos –password (por defecto no tiene) y –username (por defecto es glances), cómo se especifica en la documentación.

This post is licensed under CC BY 4.0 by the author.

Instalación de Sonarr y vínculo con Home Assistant

Comenzando con Home Assistant de cero en 2021