Monitorización con Glances

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
Crear stack Glance
Crear stack Glance

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.

Glance dashboard
Glance dashboard

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.

Crear nueva vista en ha
Crear nueva vista en ha

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

Configuración tarjeta página web
Configuración tarjeta página web

Pulsamos “Guardar”

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

Nueva vista ha glance
Nueva vista ha glance

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.

Glances integración
Glances integración

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

Configuración Glances HA
Configuración Glances HA

Pulsamos en “Enviar

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

Asignar Glances a un área de ha
Asignar Glances a un área de ha

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.

Sensores Glances
Sensores Glances

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

Tarjeta con sensores Glance
Tarjeta con sensores Glance

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.

Deja un comentario