Administrar servidores sin métricas de salud es lo mismo que conducir a oscuras. Sin un monitoreo del uso de la CPU, el disco y la memoria, solo descubrirá problemas en la infraestructura cuando los servicios ya estén fuera de servicio.
A continuación, detallamos cómo estructurar una solución de observabilidad utilizando Prometheus y Grafana ejecutándose sobre un servidor VPS. Los comandos de instalación en Ubuntu están en Grafana en un VPS.
1. ¿Qué es Prometheus y el Node Exporter?
Prometheus es una base de datos de series temporales enfocada en el monitoreo de métricas. Para recopilar métricas del sistema operativo del servidor (como uso de RAM, CPU y espacio libre en disco), utilizamos un agente ligero llamado Node Exporter.
La instalación con systemd, usuario de servicio y firewall está en Grafana en un VPS, con Node Exporter 1.8.2. El agente escucha en el puerto 9100. Prometheus hace el scraping en ese puerto y guarda el historial.
2. Configurando Grafana para la Visualización de Datos
Grafana es la herramienta ideal para diseñar paneles gráficos (dashboards) a partir de la información consolidada por Prometheus.
El Flujo de Configuración:
- Acceda al panel de Grafana (puerto predeterminado
3000). - Agregue Prometheus como su Fuente de Datos (Data Source).
- Importe el dashboard oficial para Node Exporter (ID:
1860).
Esta plantilla mostrará de forma visual y en tiempo real la temperatura de la CPU, la tasa de lectura/escritura en disco, el consumo de memoria RAM y el volumen de tráfico de red activo.
3. Consultas que merecen una alerta
En Grafana, en Explore, con Prometheus seleccionado, estas tres consultas muestran CPU, memoria libre y disco libre de la raíz:
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes
node_filesystem_avail_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
/ node_filesystem_size_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
La primera devuelve el porcentaje de CPU. Las otras dos devuelven una fracción de 0 a 1. Disco por debajo de 0.15 es la alerta que evita que la base se detenga con el volumen lleno.
Regla para Prometheus, en /etc/prometheus/rules/disco.yml:
groups:
- name: disco
rules:
- alert: DiscoRaizBajo
expr: |
node_filesystem_avail_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
/ node_filesystem_size_bytes{mountpoint="/",fstype!~"tmpfs|overlay"} < 0.15
for: 10m
labels:
severity: warning
annotations:
summary: "Menos del 15% libre en {{ $labels.instance }}"
Recargue sin cortar la recolección:
curl -sS -X POST http://127.0.0.1:9090/-/reload
--web.enable-lifecycle tiene que estar en el servicio de Prometheus, como en la guía de instalación. Una respuesta vacía con HTTP 200 es el reload aceptado.
Conclusión
Tener un dashboard de Prometheus y Grafana configurado es el primer paso para obtener una observabilidad profesional de los sistemas. Con alertas configuradas a partir de estas métricas, puede predecir fallos de hardware y actuar preventivamente antes de que cualquier aplicación sufra una interrupción del servicio.