[{"data":1,"prerenderedAt":187},["ShallowReactive",2],{"seo-verification":3,"blog-alojar-beszel-hub-monitorizacion-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-alojar-beszel-hub-monitorizacion-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":133,"ctaBody":134,"ctaButton":135,"ctaUrl":136,"relatedPosts":137},133,"alojar-beszel-hub-monitorizacion-vps",{"fr":12,"en":13,"ar":14,"es":10},"self-host-beszel-vps","self-host-beszel-multi-server-monitoring-hub-on-your-vps","استضف-beszel-على-vps-مركز-مراقبة-متعدد-الخوادم","Beszel en VPS: monitorización multiservidor, alertas y seguridad","Supervise su parque de VPS desde un único hub Beszel: alertas por Telegram y correo, 2FA, agentes declarados automáticamente y solución de conexiones silenciosas.",8,1,false,"2026-02-14T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Seguridad y monitorización","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-beszel-vps-poster.svg",{"categorySlug":33,"appSlug":34},"monitorizacion-observabilidad","beszel","Ejecutar varios VPS se vuelve la norma en cuanto uno se toma en serio el autoalojamiento. Pero revisar cada servidor por separado es lento, y se le escaparán problemas antes de que salgan caros. Beszel resuelve esto con un modelo hub-agente: un hub ligero, respaldado por PocketBase, agrega las métricas en tiempo real de todos sus servidores. El hub consume menos de 50 MB de RAM en reposo, los agentes son diminutos binarios Go y la instalación completa lleva unos diez minutos. Esta guía cubre el despliegue completo: puesta en marcha del hub, adición de varios agentes, configuración de las alertas, endurecimiento y resolución de los problemas más comunes.",[37,41,79,90,93,115,118,121,124,128,130],{"type":38,"title":39,"body":40},"h2","Por qué Beszel logra el equilibrio justo para el autoalojamiento","Grafana + Prometheus es el estándar del sector, pero conlleva una puesta en marcha pesada: exporters, configuración de Prometheus, fuentes de datos de Grafana, paneles. Uptime Kuma destaca en los controles de disponibilidad, pero no aporta métricas de recursos. Netdata es rico en datos, pero consume más RAM por nodo y exige una cuenta en la nube para agregar varios hosts. Beszel se sitúa entre ambos: métricas de recursos completas (CPU, RAM, disco, ancho de banda, temperaturas), estadísticas Docker por contenedor, gráficos históricos y alertas por umbral — todo ello desplegado con un único comando Docker, sin ningún archivo de configuración.\n\nEl hub se apoya en PocketBase, lo que significa un único binario Go con una base de datos integrada. Sin Postgres ni Redis aparte. Sin ningún YAML que escribir. La contrapartida: Beszel no permite consultas personalizadas ni paneles libres como Prometheus\u002FGrafana — para supervisar los recursos de un parque de servidores, es más rápido de asimilar y más sencillo de mantener.",{"type":42,"title":43,"headers":44,"rows":49},"comparison","Uptime Kuma · Beszel · Netdata — tabla comparativa",[45,46,47,48],"Criterio","Uptime Kuma","Beszel","Netdata",[50,55,60,65,70,74],[51,52,53,54],"Métricas de recursos","No (solo sonda HTTP\u002FTCP)","Sí (CPU, RAM, disco, ancho de banda, temp.)","Sí (muy detallado)",[56,57,58,59],"Multiservidor sin cuenta en la nube","Sí (una instancia por servidor)","Sí (hub único, agentes sin límite)","Parcial (hace falta una room en la nube para agregar)",[61,62,63,64],"Consumo de RAM del hub","\u003C 100 MB","\u003C 50 MB","300–500 MB por nodo",[66,67,68,69],"Estadísticas Docker por contenedor","No","Sí (automático)","Sí",[71,72,73,73],"Configuración requerida","Interfaz web","Cero archivos",[75,76,77,78],"Exportación Prometheus","No (nativa)","No nativa (vía `\u002Fmetrics` experimental)","Sí (nativa)",{"type":80,"title":81,"items":82},"ul","Lo que obtiene de entrada",[83,84,85,86,87,88,89],"Métricas de CPU, RAM, disco, ancho de banda y temperatura actualizadas cada 15 segundos.","Estadísticas Docker por contenedor — CPU, RAM y red de cada contenedor, detectados automáticamente.","Gráficos históricos con resolución horaria, diaria y mensual, sin límite de retención.","Alertas por umbral enviadas a Telegram, Slack, correo electrónico, Discord, ntfy, PagerDuty y muchos más.","Multiservidor: un solo hub, un parque de agentes sin límite — sin cargos por servidor ni funciones de pago.","Los agentes se conectan al hub en salida — no se necesita ninguna regla de cortafuegos entrante en los servidores supervisados.","Licencia MIT — totalmente de código abierto, autoalojado y sin dependencia de la nube.",{"type":38,"title":91,"body":92},"Requisitos","El hub es excepcionalmente ligero. Se conforma con menos de 512 MB de RAM y un solo núcleo, holgadamente dentro del VPS Start (2 vCPU, 4 GB) — de hecho, encuentra su sitio junto a otros servicios en su servidor más pequeño. Reserve de 5 a 10 GB de disco para el directorio de datos de PocketBase, que crece despacio a medida que se acumulan las métricas históricas. Los agentes son aún más ligeros: unos pocos MB de RAM cada uno. Puede supervisar más de 20 servidores sin que el hub se inmute en ese mismo VPS Start.\n\nDependencias: Docker instalado en el hub (para el contenedor del hub) y en cada servidor supervisado (para el agente en modo contenedor). Existe una alternativa binaria sin Docker para los agentes — consulte la documentación oficial para esa variante.",{"type":94,"title":95,"steps":96},"steps","Desplegar el hub y añadir varios agentes",[97,100,103,106,109,112],{"title":98,"body":99},"Iniciar el hub","En el VPS dedicado a la monitorización:\n```bash\ndocker run -d --restart=always \\\n  -p 8090:8090 \\\n  --name beszel \\\n  -v \u002Fopt\u002Fbeszel:\u002Fbeszel_data \\\n  henrygd\u002Fbeszel:latest\n```\nEl hub arranca de inmediato — no requiere ninguna variable de entorno ni archivo de configuración.",{"title":101,"body":102},"Crear la cuenta de administrador","Abra `http:\u002F\u002F\u003Chub-ip>:8090`. El primer visitante ve el asistente de PocketBase que crea la cuenta de administrador (correo electrónico + contraseña fuerte). Esta cuenta controla la totalidad del panel — elija una contraseña sólida; activará el 2FA en el paso siguiente.",{"title":104,"body":105},"Activar el 2FA en la cuenta de administrador","En PocketBase, vaya a **Settings → Admins**, abra su perfil y active la autenticación de dos factores (TOTP). Escanee el código QR con un gestor de códigos (Aegis, Authy, 1Password). A partir de ahí, cualquier inicio de sesión exige el código temporal además de la contraseña.",{"title":107,"body":108},"Poner el hub detrás de un reverse proxy HTTPS","Apunte un subdominio (por ejemplo `monitor.votre-domaine.com`) al VPS del hub. Con Caddy:\n```bash\napt install -y caddy\n```\nContenido de `\u002Fetc\u002Fcaddy\u002FCaddyfile`:\n```\nmonitor.votre-domaine.com {\n  reverse_proxy localhost:8090\n}\n```\nCaddy aprovisiona el certificado TLS automáticamente. Cierre después el puerto 8090 en su cortafuegos — todo el acceso pasa por 443:\n```bash\nufw delete allow 8090\nufw allow 443\n```",{"title":110,"body":111},"Añadir cada servidor supervisado","En Beszel, haga clic en **Add system**, introduzca un nombre y la IP o el nombre de host del servidor (puerto 45876). El hub genera una clave pública propia de ese sistema — cópiela.",{"title":113,"body":114},"Instalar el agente en cada servidor supervisado","En cada servidor que vaya a supervisar:\n```bash\ndocker run -d --restart=always \\\n  --network host \\\n  --name beszel-agent \\\n  -v \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro \\\n  -e KEY=\"\u003Cclé-copiée-depuis-le-hub>\" \\\n  henrygd\u002Fbeszel-agent:latest\n```\nEl agente establece una conexión **saliente** hacia el hub en el puerto 45876 — no hay ningún puerto entrante que abrir en el servidor supervisado. Las métricas aparecen en el panel en unos segundos.",{"type":38,"title":116,"body":117},"Configurar las alertas de Telegram y de correo","En los ajustes de Beszel, abra la pestaña **Notifications** y haga clic en **Add notification**.\n\n**Telegram** (canal recomendado por su rapidez): cree un bot con @BotFather para obtener un token y después recupere su `chat_id` enviando un mensaje al bot y llamando a `https:\u002F\u002Fapi.telegram.org\u002Fbot\u003Ctoken>\u002FgetUpdates`. Pegue el token y el chat ID en el formulario. Un mensaje de prueba confirma la conexión.\n\n**Correo electrónico (SMTP)**: indique el host SMTP, el puerto (587 para STARTTLS), el nombre de usuario, la contraseña y la dirección de destino. En cada sistema supervisado, defina después **umbrales de alerta**: por ejemplo, alerta en cuanto el uso del disco supere el 80 %, o cuando la RAM se mantenga por encima del 90 % durante 5 minutos. Varios canales pueden convivir — Telegram para las alertas urgentes, correo para los resúmenes.",{"type":38,"title":119,"body":120},"Solución de problemas — agente silencioso, TLS rechazado, puerto bloqueado","**El agente no aparece en el panel.** Compruebe primero que el agente está realmente en marcha: `docker logs beszel-agent`. Un mensaje `connection refused` indica que el puerto 45876 está bloqueado en el hub — ábralo en `ufw` únicamente del lado del hub (los agentes, por su parte, no necesitan abrir ningún puerto entrante):\n```bash\nufw allow 45876\u002Ftcp\n```\nSi los registros muestran un error TLS como `certificate signed by unknown authority`, es que el hub está expuesto con un certificado autofirmado o con un certificado de una CA no reconocida. Dos soluciones: usar un certificado Let's Encrypt válido (la vía recomendada, con Caddy), o pasar la variable `AGENT_SKIP_TLS_VERIFY=true` al agente (a evitar en producción).\n\n**El hub está detrás de un reverse proxy pero los agentes no se conectan.** El puerto 45876 es un puerto TCP directo (no HTTP): el reverse proxy Caddy o nginx no lo proxifica de la misma manera que una petición web. La solución es exponer el puerto 45876 directamente en el hub (no a través del proxy) y dejar únicamente la interfaz web (8090) detrás del proxy HTTPS. Autorice el puerto 45876 en su cortafuegos y asegúrese de que el grupo de seguridad de su VPS lo permita en TCP entrante desde las IP de sus agentes.\n\n**Métricas de Docker ausentes.** El agente debe tener acceso al socket de Docker. Compruebe que `\u002Fvar\u002Frun\u002Fdocker.sock` está montado en solo lectura en el comando de arranque del agente.",{"type":38,"title":122,"body":123},"Proteger el hub","Un hub de monitorización agrega datos sensibles (carga, disco, topología de red interna). Algunas medidas esenciales:\n\n**Acceso restringido al panel.** Después de activar el 2FA, añada una capa de restricción por IP o una autenticación HTTP básica en el reverse proxy si el hub solo debe ser accesible para un equipo reducido. Con Caddy:\n```\nmonitor.votre-domaine.com {\n  basicauth {\n    \u003Cutilisateur> \u003Chash-bcrypt>\n  }\n  reverse_proxy localhost:8090\n}\n```\n\n**Puerto 45876 no expuesto públicamente.** Si todos sus agentes están en VPS del mismo proveedor y comparten una red privada, configure el hub para que escuche solo en la IP privada y bloquee el 45876 en la IP pública. Si no, restrinja ese puerto a las IP conocidas de sus agentes en `ufw`.\n\n**Copias de seguridad del directorio de datos.** La carpeta `\u002Fopt\u002Fbeszel` contiene la base de datos PocketBase y el histórico de métricas. Inclúyala en su rutina de copias de seguridad — una restauración tras un siniestro es inmediata si la copia está al día.",{"type":125,"title":126,"body":127},"tip","Exportación a Prometheus — para ir más lejos","Si ya tiene una stack Prometheus\u002FGrafana y desea centralizar todas sus métricas, Beszel expone un endpoint experimental `\u002Fmetrics` en formato Prometheus en el hub. Actívelo en los ajustes avanzados y añada un scrape job en su `prometheus.yml`:\n```yaml\nscrape_configs:\n  - job_name: beszel\n    static_configs:\n      - targets: ['monitor.votre-domaine.com']\n    scheme: https\n    metrics_path: \u002Fmetrics\n    basic_auth:\n      username: '\u003Cutilisateur>'\n      password: '\u003Cmot-de-passe>'\n```\nNo es la vía principal de Beszel — si Prometheus\u002FGrafana ya está en marcha, quizá no necesite Beszel en absoluto. Pero para un equipo que quiere ambos paneles, es una pasarela útil.",{"type":125,"body":129},"Ejecute el hub de Beszel en un VPS distinto del de su stack principal. Cuando su servidor de producción esté fuera de servicio, querrá que el sistema de monitorización siga en pie y continúe enviando alertas — no que se caiga al mismo tiempo. La huella minúscula del hub en recursos permite justificar un VPS Start dedicado a la monitorización sin la impresión de estar malgastando dinero.",{"type":125,"title":131,"body":132},"La documentación oficial","Para la configuración avanzada y las opciones propias de la herramienta, consulte la \u003Ca href=\"https:\u002F\u002Fbeszel.dev\">documentación oficial de Beszel\u003C\u002Fa>. Esta guía cubre la puesta en línea en un VPS y los casos habituales; la documentación del editor sigue siendo la referencia para las actualizaciones mayores y los ajustes finos.","Supervise todos sus servidores desde un solo hub","Despliegue el hub de monitorización Beszel en un VPS ServOrbit — ligero, autoalojado y gratuito. Supervise tantos servidores como quiera sin ninguna cuenta en la nube.","Desplegar Beszel","\u002Fmarketplace\u002Fmonitorizacion-observabilidad\u002Fbeszel",[138,153,170],{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":17,"views":147,"isPinned":19,"publishedAt":148,"updatedAt":21,"category":149,"categories":150,"featuredImage":29,"bgImage":30,"posterImage":152,"relatedSolution":29},228,"hardening-inicial-servidor-linux",{"fr":142,"en":143,"ar":144,"es":140},"durcissement-serveur-linux-initial","initial-linux-server-hardening","تصليب-الخادم-linux-الأولي","Endurecimiento (hardening) inicial de un servidor Linux","Cree un usuario sudo, configure SSH con claves y active UFW y fail2ban en Ubuntu o Debian en menos de una hora.",0,"2026-08-06T00:00:00+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[151],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fdurcissement-serveur-linux-initial-poster.svg",{"id":154,"slug":155,"slugs":156,"title":160,"excerpt":161,"readTime":17,"views":147,"isPinned":19,"publishedAt":148,"updatedAt":21,"category":162,"categories":167,"featuredImage":29,"bgImage":30,"posterImage":169,"relatedSolution":29},229,"checklist-docker-compose-en-produccion",{"fr":157,"en":158,"ar":159,"es":155},"docker-compose-production-checklist","docker-compose-in-production-10-point-checklist","docker-compose-في-الإنتاج-قائمة-التحقق-من-10-نقاط","Docker Compose en producción: checklist de 10 puntos","Checklist de Docker Compose en producción: 10 ajustes esenciales, gestión de secretos sin downtime, copias de volúmenes sin corrupción, CVE-2026-17106.",{"id":163,"name":164,"slug":165,"color":166,"icon":165},3,"Despliegue","deploiement","bg-success\u002F10 text-success",[168],{"id":163,"name":164,"slug":165,"color":166,"icon":165},"\u002Fblog\u002Fcovers\u002Fdocker-compose-production-checklist-poster.svg",{"id":171,"slug":172,"slugs":173,"title":177,"excerpt":178,"readTime":179,"views":147,"isPinned":19,"publishedAt":180,"updatedAt":21,"category":181,"categories":182,"featuredImage":29,"bgImage":30,"posterImage":184,"relatedSolution":185},106,"monitorizacion-vps-grafana-prometheus",{"fr":174,"en":175,"ar":176,"es":172},"monitoring-vps-grafana-prometheus","vps-monitoring-with-grafana-and-prometheus","مراقبة-الخادم-الافتراضي-vps-باستخدام-grafana-و-prometheus","Monitorización de VPS con Grafana y Prometheus","Monte una stack Grafana + Prometheus en su VPS para recopilar, almacenar y visualizar sus métricas de sistema y de aplicación.",4,"2026-03-06T00:00:00+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[183],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":33,"appSlug":186},"grafana",1789664995600]