Integración domótica Beszel, gratuita y de código abierto

Sus sistemas Beszel en Gladys: en línea, procesador, memoria, disco, temperatura y alertas.
Beszel es una herramienta ligera de supervisión de servidores: un pequeño agente en cada máquina envía sus medidas a un hub, que guarda el historial, muestra el panel y lanza alertas. Esta integración lee su hub Beszel y lleva sus sistemas a Gladys: un dispositivo por sistema, que indica si está en línea, con su procesador, memoria, disco, temperatura más alta, tráfico de red, carga, tiempo en marcha, servicios con error y las alertas Beszel activadas. Las escenas pueden reaccionar cuando un sistema se queda sin conexión o vuelve, y cuando una alerta Beszel se activa o se resuelve; un widget del panel muestra sus sistemas de un vistazo. Todo se queda en su red local.
Probada con un hub Beszel 0.21.0 real y su agente (Docker), con un sistema detenido y vuelto a arrancar y alertas activadas y resueltas. Aún no en todas las instalaciones: sus comentarios son bienvenidos en las issues.
Lo que necesita
- Gladys Assistant 5.1.0 o posterior.
- Un hub Beszel (0.12 o posterior, 0.21 probado) accesible desde la máquina de Gladys (puerto 8090 por defecto), con sus agentes ya añadidos.
- El correo electrónico y la contraseña de un usuario de Beszel. Lo mejor: un usuario creado para Gladys, con el rol de solo lectura.
La integración solo lee: nunca cambia nada en Beszel ni en sus máquinas.
Primeros pasos
1. Crear un usuario de Beszel para Gladys
La integración ve exactamente lo que ve su usuario: los sistemas compartidos con él y sus propias alertas.
- Abra el panel de administración de PocketBase, en
http://<hub>:8090/_/(menú de Beszel → Users en las versiones recientes), y cree un usuario en la colecciónusers: un correo, una contraseña, el rolreadonly, la casillaverifiedmarcada. - Comparta los sistemas con él: o bien arranque el hub con la variable de
entorno
SHARE_ALL_SYSTEMS=true(cada usuario ve todos los sistemas), o bien, en el mismo panel, añada el usuario al campousersde cada sistema. - Las alertas de Beszel pertenecen a un usuario: inicie sesión en Beszel con este usuario y configure las alertas que las escenas deben conocer (icono de campana de un sistema). Un usuario de solo lectura puede gestionar sus propias alertas.
También puede usar su propia cuenta de Beszel: la integración ve entonces sus sistemas y sus alertas.
2. Configurar la integración
En la pestaña Configuración de la integración:
- Dirección de Beszel: la dirección del hub, la que abre en un navegador:
192.168.1.20(se añade el puerto 8090),nas.lan:8090ohttps://beszel.example.com. - Correo del usuario de Beszel y Contraseña.
- Intervalo de actualización: 30 segundos por defecto. El propio hub lee sus agentes una vez por minuto: un intervalo más corto no aporta nada.
- Aceptar certificados autofirmados: solo para una dirección
https://cuyo certificado tampoco reconoce su navegador. - Idioma de los nombres: idioma de los nombres de las funciones, fijados al añadir un dispositivo, y de los textos enviados a las escenas.
Guarde y haga clic en Probar la conexión: indica la versión de Beszel, cuántos sistemas están en línea y cuántas alertas están activadas.
3. Añadir los sistemas
Abra la pestaña Descubrir: allí aparece cada sistema del usuario. Añada los que quiera seguir. Los activadores de escena funcionan para todos los sistemas, añadidos o no.
Los dispositivos
Cada sistema es un dispositivo, con el nombre que tiene en Beszel. Sus funciones:
- En línea: 1 mientras Beszel marca el sistema en línea, 0 cuando lo marca sin conexión. Un sistema en pausa no envía nada.
- Procesador, Memoria y Disco: el uso, en %, del procesador, de la memoria y del disco raíz.
- Temperatura más alta: la temperatura que Beszel muestra en su panel (el sensor más caliente), en °C, cuando el sistema tiene sensores.
- Tráfico de red: envío y recepción juntos, en Mbit/s.
- Carga (1 min), Carga (5 min), Carga (15 min): las cargas medias.
- Tiempo en marcha: en días.
- Servicios con error: los servicios systemd con error, cuando el agente los vigila.
- Alertas activadas: cuántas alertas Beszel del usuario están activadas en este sistema.
Los valores que cambian todo el tiempo (procesador, memoria, carga, red, temperatura) se envían a Gladys como mucho una vez por minuto, los demás cuando cambian. Mientras un sistema está sin conexión, solo se actualizan En línea y Alertas activadas: las últimas cifras se mantienen.
Panel
Añada el widget Sistemas Beszel a un panel:
- sin sistema elegido en sus ajustes, muestra cuántos sistemas están en línea y sin conexión y cuántas alertas están activadas, y luego una línea por sistema, roja si está sin conexión, naranja con una alerta activada;
- con un sistema elegido, muestra sus indicadores de procesador, memoria y disco, su temperatura, sus alertas activadas, su carga y su tiempo en marcha.
El botón Actualizar vuelve a leer Beszel al instante.
Escenas
Activadores
- Sistema Beszel sin conexión o de vuelta: Beszel marca un sistema como sin conexión (su agente ya no responde) o de nuevo en línea. Filtros: el sistema y el nuevo estado (Sin conexión, De nuevo en línea). Las acciones pueden usar el nombre del sistema y el nuevo estado. Beszel decide cuándo un sistema está sin conexión; un sistema en pausa no activa nada.
- Alerta Beszel: una alerta Beszel del usuario se activa o se resuelve.
Filtros: el sistema, la alerta (Procesador, Memoria, Disco,
Temperatura, Estado…) y el nuevo estado (Activada,
Resuelta). Las acciones pueden usar el nombre del sistema, la alerta, la
alerta con su umbral (
Procesador > 80 %), el nuevo estado y el umbral.
Los umbrales y las duraciones de las alertas se configuran en Beszel, no en Gladys. Los estados encontrados al arrancar la integración son su punto de partida: solo los cambios posteriores activan una escena, también de un reinicio de Gladys a otro.
Acciones
- Estado de un sistema Beszel: lee un sistema y da a las acciones
siguientes sus cifras (en línea, procesador, memoria, disco, temperatura,
red, carga, tiempo en marcha, alertas activadas) y un resumen listo para
enviar, por ejemplo
nas: procesador 12 %, memoria 45 %, disco 78 %, 48 °C, ninguna alerta activada. - Estado de todos los sistemas Beszel: cuenta los sistemas en línea y sin
conexión y las alertas activadas, con un resumen para enviar, por ejemplo
Sin conexión: piy luegonas: 1 alerta(s) activada(s) (Disco > 90 %).
Ideas de escenas
- Sistema Beszel sin conexión o de vuelta, estado Sin conexión →
enviar el mensaje
{{triggerEvent.data.system_name}} está sin conexión. - Alerta Beszel, alerta Temperatura, estado Activada → encender el ventilador del cuarto técnico.
- Cada mañana a las 8:00 → Estado de todos los sistemas Beszel → enviar el resumen.
Solución de problemas
- «no responde»: compruebe la dirección y el puerto en un navegador; un cortafuegos puede bloquear el puerto 8090.
- «correo electrónico o contraseña rechazados»: inicie sesión en Beszel
con ellos para comprobarlos. Un superusuario de PocketBase (la cuenta de
administración de
/_/) no es un usuario de Beszel: use una cuenta de la colecciónusers. - «Conectado, pero este usuario de Beszel no ve ningún sistema»: comparta
los sistemas con el usuario (paso 1) o configure
SHARE_ALL_SYSTEMS=true. - Nunca se activa ninguna alerta: las alertas pertenecen al usuario con el que se conecta la integración: configúrelas en Beszel con este usuario.
- «no hay ningún hub Beszel en esta dirección»: otro servicio responde en esa dirección (otra aplicación, un proxy inverso sin Beszel detrás).
- Sin temperatura: el agente no lee ningún sensor (una máquina virtual, o un agente en Docker sin acceso a los sensores).
- Más detalles con la variable de entorno
LOG_LEVEL=debugen la integración.
Límites
- Un hub Beszel por instalación, 100 sistemas como máximo.
- Solo el resumen de cada sistema: los contenedores, los discos adicionales, la GPU y el historial de Beszel no se leen.
- Solo se ven las alertas del usuario configurado.
- Lectura cada 30 segundos a 5 minutos, no en tiempo real: el propio hub actualiza un sistema una vez por minuto.
- Sin relación con Beszel ni con sus autores.
Parámetros de configuración
Estos son los parámetros que Beszel te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Su hub Beszel | section | No | Introduzca la dirección de su hub Beszel y el correo electrónico y la contraseña de un usuario de Beszel: cada sistema que vea este usuario se convierte en un dispositivo. Basta con un usuario de solo lectura. Añada luego los sistemas que quiera desde la pestaña Descubrir. |
| Dirección de Beszel | string | No | Dirección del hub Beszel, la de su página web (puerto 8090 por defecto): 192.168.1.20, nas.lan o https://beszel.example.com. |
| Correo del usuario de Beszel | string | No | Lo mejor: un usuario creado para Gladys, con el rol de solo lectura, con quien se comparten los sistemas. |
| Contraseña | secret | No | Guardada por Gladys, solo se envía al hub Beszel. |
| Opciones | section | No | |
| Intervalo de actualización | select | No | Con qué frecuencia se lee el hub Beszel. El propio hub actualiza cada sistema una vez por minuto. |
| Aceptar certificados autofirmados | boolean | No | Solo para una dirección https:// (Beszel detrás de un proxy inverso) cuyo certificado tampoco reconoce su navegador. |
| Idioma de los nombres | select | No | Idioma de los nombres de las funciones (fijados al añadir un dispositivo), de los resultados de escena y de la prueba de conexión. |
Cómo instalar Beszel en Gladys
- En Gladys, abre Integraciones: Beszel aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-beszel:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-beszel.
Beszel requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Beszel es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación