Que es Glances
Glances es un software multiplataforma de monitorización de código libre escrito en Python que nos va a permitir monitorizar CPU, Memoria y Red básicamente y visualizar la información en un Dashboard.
El código de Glances está disponible en el repositorio Git del usuario nicolargo aquí.
Glances permite añadir plugins y exportar módulos.
Cómo instalar Glances
Vamos a proceder a instalar Glances cómo siendo habitual creando un Stack en Portainer, mira esta guia si necesitas saber cómo instalar Portainer.
Creamos un nuevo stack “glances” con las siguientes líneas:
version: '3.8'
services:
glances:
image: nicolargo/glances:latest
container_name: glances
privileged: true # Permisos para ver todo el hardware
pid: host
ports:
- "8082:61208" # Publicamos en el puerto 8082
volumes:
- /docker/glance/config:/glances/conf
- /var/run/docker.sock:/var/run/docker.sock:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
environment:
- GLANCES_OPT=-w # Modo web
restart: always
pulsamos en “Deploy the stack”, docker descargará la imagen y creará el contenedor automáticamente.
El Dashboard de Glances
Una vez desplegado el contenedor tan solo debemos introducir la ip de Portainer con el puerto 8082 algo así cómo 192.168.1.100:8082, en caso de tener el puerto 8082 ocupado o querer publicar en otro distinto es suficiente con actualizar la línea 10 sustituyendo 8082 por el puerto deseado (“8082:61208”) y pulsar en “Update Stack”
Al dirigirnos a la ip se mostrará el dashboard donde podremos ver el estado de la CPU, Ram, disco con sus particiones y las tareas que se están ejecutando en el equipo.

Configurar Glances
Vale ya tenemos el dashboard de Glances en el que podemos ver toda la información de nuestro sistema, aunque seguramente nos parezca útil los primeros días y al tercero ya ni nos acordamos de consultarlo.
Para hacerlo un poco más útil vamos a integrarlo en HA, primero creamos una nueva vista de Panel.

Ahora tenemos varias formas de añadir la información a la nueva vista, vamos a ver dos formas de hacerlo:
1- Cómo Página Web
Esta es la forma más sencilla, para los que no quieren complicarse mucho.
Creamos una nueva tarjeta de tipo “Página web” y en url ponemos la dirección del dashboard

Pulsamos “Guardar”
Y ya tenemos nuestra nueva vista en HA monitorizando y mostrando los recursos del sistema mediante Glances.

2- Integración Oficial
La forma recomandada es hacer uso de la integración oficial de HA, si bien la primera opción es más sencilla quiza muestre demasiada información que tal vez no sea siempre necesaria. Esta opción nos permitirá crear tarjetas con los sensores que necesitemos.
Para ello en HA buscamos y añadimos la integración “Glances”, podemos filtrar por glances para facilitar la búsqueda.

Rellenamos la dirección Ip y el puerto de nuestro Glances

Pulsamos en “Enviar“
Si lo encuentra mostrará la siguiente ventana donde nos pide asignarlo a un área.

Seleccionamos un área de nuestra casa y pulsamos en “Terminar”
Finalmente tenemos disponibles en HA todas las métricas de Glances en forma de sensores.

Estos sensores nos permitirán crear nuestros propios paneles incluyendo únicamente aquellos sensores que necesitemos mostrar.
Crear una tarjeta con los sensores de Glance
Vamos a crear una tarjeta con algunos sensores cómo Cpu, ram, disco, tráfico de red y temperatura del procesador, para crear esta tarjeta es necesario haber configurado la integración oficial en el paso anterior para que estén disponibles los sensores que necesitamos.
Creamos una nueva tarjeta y en el editor de código pegamos el siguiente código
type: vertical-stack
cards:
- type: grid
title: 🖥️ Estado del Sistema
columns: 3
square: false
cards:
- type: gauge
entity: sensor.processor_use
name: CPU
unit: "%"
needle: true
severity:
green: 0
yellow: 65
red: 85
- type: gauge
entity: sensor.memory_use_percent
name: RAM
unit: "%"
needle: true
severity:
green: 0
yellow: 75
red: 90
- type: gauge
entity: sensor.disk_use_percent
name: Disco
unit: "%"
needle: true
severity:
green: 0
yellow: 80
red: 95
- type: sensor
entity: sensor.processor_temperature
name: Temperatura CPU
graph: line
detail: 2
hours_to_show: 24
- type: history-graph
title: 🌐 Tráfico de Red Total
entities:
- entity: sensor.192_168_1_100_eth0_rx
name: Descarga (Bajada)
- entity: sensor.192_168_1_100_eth0_tx
name: Subida
hours_to_show: 12
refresh_interval: 30
En la parte de tráfico de red actualiza 192_168_1_100 por los números correspondintes de tú equipo.
Esto creará una tarjeta como la siguiente

Esta opción de ver una tarjeta con la información más importante me parece más interesante que visualizar el dashboard de Glances, donde hay muchisima información que no necesitamos en la gran mayoría de casos, además al tener esta tarjeta en HA podremos incluso visualizarla desde el movil desde cualquier sitio lo cual es más práctico.