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.
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.
Cómo instalar Node Exporter en Ubuntu:
- Descargue el paquete correspondiente:
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz - Extraiga el ejecutable y configúrelo como un servicio del sistema operativo (
systemd) para ejecutarse en segundo plano y exponer las métricas en el puerto predeterminado9100.
Prometheus realizará peticiones periódicas a este puerto (scraping) para guardar el historial de métricas.
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.
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.