Skip to main content

Beszel: Monitorización ligera centralizada


Introducción

Beszel es una solución de monitorización ligera orientada a centralizar métricas de múltiples sistemas sin desplegar una pila completa de observabilidad. Está diseñada para entornos donde se necesita visibilidad clara de recursos (CPU, memoria, disco, red, contenedores) pero sin la complejidad operativa de herramientas más pesadas.

La arquitectura se basa en un modelo Hub + Agentes:

  • Hub: interfaz web central que recibe, almacena y muestra las métricas.
  • Agentes: servicios ligeros desplegados en cada sistema monitorizado que recopilan estadísticas y las envían al hub.

Este enfoque encaja especialmente bien en homelabs, VPS dispersos o infraestructuras personales donde se prioriza simplicidad, bajo consumo y despliegue rápido.


Enfoque general / Arquitectura

El Hub actúa como punto central de agregación. Los agentes se conectan a él mediante clave pública y envían métricas periódicamente.

Características relevantes del modelo:

  • No requiere Prometheus, exporters externos ni base de datos independiente.
  • Persistencia integrada en el propio Hub.
  • Gestión de sistemas desde la propia interfaz web.
  • Posibilidad de activar métricas adicionales (GPU, múltiples sistemas de ficheros, etc.).

El diseño prioriza claridad y bajo overhead frente a granularidad extrema o personalización avanzada de métricas.


Despliegue del Hub

El Hub se ejecuta en contenedor Docker y expone su interfaz web en el puerto configurado.

La configuración utilizada se encuentra versionada en Gitea:

Decisiones relevantes

  • Se utiliza la imagen oficial henrygd/beszel.
  • Persistencia mediante volumen local para conservar métricas y configuración.
  • Exposición del puerto interno 8090 hacia el exterior en 8072 para evitar conflictos con otros servicios.
  • Reinicio automático con unless-stopped.

Instalación del agente

Actualmente no es necesario instalar el agente manualmente desde cero.

Desde el panel del Hub existe la opción "Add System", que genera automáticamente el comando necesario para desplegar el agente en la máquina destino. Ese comando incluye la clave pública y los parámetros adecuados para que el agente se registre correctamente en el Hub.

Este mecanismo simplifica el proceso y evita errores manuales en la configuración inicial.

En caso de querer gestionarlo manualmente, el binario puede descargarse desde la sección de releases del repositorio oficial.


Servicio systemd del agente (opcional)

Cuando se desea mantener el agente como servicio persistente fuera de Docker, puede definirse un servicio systemd.

Parámetros relevantes del agente:

  • PORT: puerto en el que el agente escucha.
  • KEY: clave pública utilizada para autenticación con el Hub.
  • FILESYSTEM: ruta o sistema de ficheros a monitorizar.
  • GPU: habilita detección de GPU si procede.
  • ExecStart: ruta al binario del agente.
  • User: usuario bajo el que se ejecuta el servicio.

La activación como servicio permite reinicio automático y ejecución al arranque del sistema.


Validación

Comprobaciones básicas tras el despliegue:

  • Acceso correcto al dashboard del Hub desde navegador.
  • Registro del sistema en el panel tras ejecutar el comando generado.
  • Visualización de métricas en tiempo real (CPU, RAM, disco, red).
  • Confirmación de persistencia tras reinicio del contenedor del Hub.

Decisiones importantes

  • Beszel se adopta como solución de monitorización ligera, no como sistema completo de observabilidad.
  • No sustituye a soluciones orientadas a métricas avanzadas, trazabilidad distribuida o análisis profundo.
  • Prioriza simplicidad operativa frente a personalización extrema.

Resumen breve

Beszel proporciona monitorización centralizada mediante un modelo Hub + Agentes, con despliegue sencillo en Docker y gestión directa desde su interfaz web. Resulta adecuado para infraestructuras pequeñas o personales donde se busca visibilidad clara sin introducir complejidad innecesaria.


Referencias