Monitorizar un servidor casero sin gastar ni un euro: herramientas imprescindibles para tu homelab
Un servidor doméstico no solo debe funcionar, sino que también necesita ser supervisado para evitar sorpresas desagradables como caídas, saturación de recursos o fallos de hardware. Afortunadamente, existen alternativas gratuitas y eficientes para monitorizar tu homelab sin invertir en costosas licencias. Estas herramientas te permiten controlar el estado del sistema, el uso de CPU, memoria, disco, red y otros parámetros críticos, incluso desde el móvil. A continuación, exploramos las mejores opciones, desde soluciones todo-en-uno hasta paneles especializados para Docker.
Prometheus + Grafana: el tandem definitivo para datos en tiempo real
Prometheus es un sistema de monitorización de código abierto diseñado para recopilar métricas en tiempo real mediante un modelo de etiquetado flexible. Funciona como un servidor que “scrapea” los datos expuestos por tus servicios y los almacena en una base de datos de series temporales basada en texto. Para visualizar estos datos, Grafana es la herramienta perfecta: un panel interactivo que te permite crear gráficos, alertas y dashboards personalizados.
Instalación en Docker:
version: '3'
services:
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
ports:
- "3000:3000"
depends_on:
- prometheus
Define un archivo prometheus.yml para configurar qué métricas recopilar (CPU, memoria, disco, etc.). Grafana ya incluye un conector para Prometheus, por lo que solo necesitas añadir la URL http://prometheus:9090 en la configuración de datos. Ejemplo de dashboard para ver el uso de CPU en tiempo real:

Ventajas: Alto rendimiento, escalabilidad y capacidad para alertar mediante reglas de Prometheus (ej: “Enviar email si la CPU supera el 95% durante 10 minutos”). Limitación: Requiere configuración manual para servicios específicos.
Netdata: monitorización en tiempo real con cero configuración
Si buscas una solución plug-and-play, Netdata es la opción ideal. Este agente ligero monitorea en tiempo real más de 200 parámetros del sistema (incluyendo hardware, redes y aplicaciones) con una interfaz web que se ejecuta localmente en el puerto 19999. No necesita base de datos: los datos se calculan al vuelo y se visualizan instantáneamente.
Instalación en un servidor Linux:
curl -Ss 'https://my-netdata.io/kickstart.sh' | bash
O en Docker:
services:
netdata:
image: netdata/netdata
ports:
- "19999:19999"
cap_add:
- SYS_PTRACE
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
Ejemplo práctico: Accede a http://[TU-IP]:19999 y verás una interfaz como esta:

Ventajas: Sin dependencias, interfaz intuitiva y alertas configurables por web. Desventaja: Menos flexible que Prometheus/Grafana para integraciones avanzadas.
Telegraf + InfluxDB + Grafana (TIG Stack): para métricas pesadas
Si manejas volúmenes altos de datos (ej: logs de Docker, tráfico de red), la combinación de Telegraf (agente de recolección), InfluxDB (base de datos de series temporales) y Grafana ofrece mayor escalabilidad. Telegraf recopila métricas y las envía a InfluxDB, donde se almacenan en un formato optimizado para consultas rápidas. Grafana se conecta a InfluxDB como fuente de datos.
Configuración básica en Docker:
services:
influxdb:
image: influxdb
ports:
- "8086:8086"
volumes:
- influxdb_data:/var/lib/influxdb
telegraf:
image: telegraf
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./telegraf.conf:/etc/telegraf/telegraf.conf
grafana:
image: grafana/grafana
ports:
- "3000:3000"
Un archivo de configuración mínimo para Telegraf (telegraf.conf):
[[outputs.influxdb]]
urls = ["http://influxdb:8086"]
database = "homelab"
[[inputs.cpu]]
[[inputs.disk]]
[[inputs.docker]] # Métricas de containers
Uso: Crea dashboards en Grafana con consultas como SELECT mean("usage_user") FROM "cpu" WHERE time > now() - 1h GROUP BY time(1m).
Ventajas: Ideal para entornos con muchos servicios y necesidad de retención de datos a largo plazo. Inconveniente: Requiere más recursos que Netdata.
Cacti y LibreNMS: monitorización clásica de red
Para quienes prefieren un enfoque tradicional, Cacti (basado en RRDtool) y LibreNMS (fork de Observium) son excelentes opciones gratuitas para monitorizar redes, servidores y dispositivos IoT. Ambos permiten crear gráficos detallados a partir de sondeos de SNMP, ICMP o agentes locales.
LibreNMS en Docker:
services:
librenms:
image: librenms/librenms
ports:
- "8000:8000"
- "514:514/udp" # Para syslog
environment:
- DB_HOST=db
- DB_NAME=librenms
- DB_USER=librenms
- DB_PASS=secret
depends_on:
- db
LibreNMS descubre automáticamente dispositivos en la red y genera alertas por correo u otros métodos. Ejemplo: Vigilar el ancho de banda de un servidor o notificar cuando un switch se desconecte.
Alternativas minimalistas: htop, bpytop y glances
Para casos básicos o servidores muy limitados, herramientas como htop (interactiva para CPU/memoria), bpytop (versión en Python con más visualizaciones) o glances (monitor en terminal con estilo modernillo) son suficientes:
Ejemplo con glances:
docker run -d --name=glances -p 61208:61208 -e GLANCES_OPT="-w" nicolargo/glances
Accede a http://[TU-IP]:61208 para ver un resumen de recursos + procesos.
Conclusión: ¿cuál elegir?
| Herramienta | Facilidad | Visualización | Alertas | Escalabilidad |
|---|---|---|---|---|
| Netdata | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | Media |
| Prometheus/Grafana | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Alta |
| TIG Stack | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Muy alta |
| LibreNMS | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | Baja |
Recomendación final:
- Si buscas rapidez y simplicidad, usa Netdata.
- Si necesitas flexibilidad y alertas avanzadas, elige Prometheus + Grafana.
- Para métricas pesadas, opta por TIG Stack.
Bonus: alertas y notificaciones
Todas estas herramientas permiten configurar alertas automáticas. Por ejemplo:
- Netdata: Crear alarmas en
/etc/netdata/health.d/(ej: notificar si la temperatura de la CPU supera 80°C). - Prometheus: Definir reglas en
alert.rulesy enviarlas a Telegram o un correo mediante Alertmanager. - LibreNMS: Configurar notificaciones por Slack o syslog.
** ** **