Arostik Logo
ArostikVLARCK

Micro-Technology Solutions

Servidores y DevOpsNivel: Avanzado15 min de lección

Prometheus y Grafana: Monitoreo y Métricas de Servidores en Tiempo Real

Aprende cómo recolectar series temporales con Node Exporter, formular consultas en PromQL y diseñar dashboards visuales profesionales.

Prometheus y Grafana: Monitoreo y Métricas de Servidores en Tiempo Real
AROS STUDENT
E
Equipo de Arquitectura DevOps ArostikEspecialistas en Observabilidad y Telemetría · Actualizado el 25 sep 2026
¿Qué es Prometheus y qué es Grafana?

En la gestión de infraestructura moderna no puedes esperar a que los usuarios llamen quejándose de lentitud para enterarte de que la memoria RAM de tu servidor llegó al 99% o que el disco duro se llenó por completo. Necesitas medir continuamente **métricas numéricas en tiempo real**. El estándar indiscutible de la industria para resolver esto es el binomio **Prometheus y Grafana**: 1. **Prometheus**: Es un sistema de monitoreo, alertas y **Base de Datos de Series Temporales (TSDB - Time-Series Database)** de código abierto creado por SoundCloud y graduado en la CNCF. Funciona mediante un modelo 'Pull': sondea y raspa (**Scraping**) periódicamente endpoints HTTP de tus servidores (como `Node Exporter`) para recolectar métricas numéricas con marcas de tiempo precisas. 2. **Grafana**: Es la plataforma de visualización gráfica más popular del mundo. Se conecta a Prometheus como fuente de datos y transforma millones de números crudos en elegantes dashboards visuales con gráficos de líneas, tacómetros de uso de CPU, mapas de calor y alertas automatizadas a Slack o Discord.

¿Por Qué Todas las Empresas de Tecnología Adoptan este Stack?
Ventajas y Beneficios:
  • ✓Modelo Pull Robusto: Los servidores monitoreados solo exponen un endpoint `/metrics` ligero; si un servidor colapsa, Prometheus detecta inmediatamente la falta de respuesta.
  • ✓Potente Lenguaje PromQL: Permite calcular tasas de incremento de peticiones por segundo (`rate()`), percentiles de latencia p99 y proyecciones de llenado de disco.
  • ✓Alertmanager Integrado: Envía notificaciones de alerta automáticas antes de que ocurra una catástrofe (ej. *'El disco se llenará en 4 horas al ritmo actual'*).
Problemas que resuelve:
  • •Elimina la incertidumbre sobre cuánta CPU y ancho de banda consumen tus microservicios.
  • •Permite correlacionar despliegues de código nuevos con caídas repentinas de rendimiento.
  • •Provee dashboards visuales para que directores y técnicos compartan la misma visibilidad en tiempo real.
El Médico de Cabecera y el Panel de Control de la Sala de Operaciones

Imagina un paciente en una cirugía delicada: - **Node Exporter es el Sensor de Presión y Pulso**: Es un sensor diminuto colocado en el dedo del paciente que mide continuamente los latidos del corazón y los expone en una pantallita digital. - **Prometheus es el Registrador de la Sala**: Cada 5 segundos mira la pantallita del sensor, anota los números en un libro de bitácoras foliado con fecha y segundo exacto, y guarda el historial completo de las últimas 48 horas. - **Grafana es la Pantalla Gigante en la Pared**: Lee las anotaciones del registrador y dibuja un electrocardiograma visual en color verde, con líneas que suben y bajan, promedios móviles y alarmas rojas que suenan si la presión cardíaca cae por debajo de 60.

Conexión con la Tecnología:Prometheus almacena datos de series temporales en formato `metrica{etiqueta="valor"} 42.5 timestamp`. Grafana ejecuta consultas PromQL sobre esa base de datos para renderizar los gráficos interactivos.

Explicación Paso a Paso del Tema

1

Instalar y Ejecutar Node Exporter en un Servidor Linux

Node Exporter es el agente oficial que recolecta estadísticas de hardware y del kernel de Linux (CPU, memoria, disco, red, temperatura).

Expone todas las métricas en texto plano en el puerto TCP 9100 en la ruta `/metrics`.

Comando de Terminal / Código
# Comprobar las métricas expuestas localmente por Node Exporter:
curl http://localhost:9100/metrics | head -n 25
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
:9100/metricsEndpoint de TelemetríaRuta HTTP estándar de solo lectura que Prometheus sondeará periódicamente.
Consejo Profesional:

Protege el puerto 9100 con tu firewall (UFW) para que únicamente la IP de tu servidor Prometheus pueda leer las métricas.

2

Configurar el Scraping en prometheus.yml

En el archivo de configuración de Prometheus, agrega el trabajo (job) que define a qué servidores interrogar y con qué frecuencia.

Un intervalo de sondeo de 15 segundos es el estándar recomendado para producción.

Comando de Terminal / Código
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'servidores_linux'
    static_configs:
      - targets: ['10.0.0.15:9100', '10.0.0.16:9100']
        labels:
          entorno: 'produccion'
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
scrape_interval: 15sFrecuenciaFrecuencia con la que Prometheus descarga los datos de cada máquina.
targetsLista de NodosDirecciones IP y puertos de los agentes Node Exporter a monitorear.
Error Común a Evitar:

Configurar un `scrape_interval` de 1 segundo sin necesidad: llenará tu disco de millones de puntos de datos y consumirá ancho de banda inútilmente.

3

Consultas Esenciales en Lenguaje PromQL

Aprende las tres fórmulas PromQL que todo ingeniero utiliza en sus dashboards de Grafana: - **Porcentaje de CPU usado**: `100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)` - **Porcentaje de Memoria RAM usada**: `(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100` - **Tasa de Peticiones HTTP por segundo**: `rate(http_requests_total[2m])`

Consejo Profesional:

En Grafana puedes importar el famoso Dashboard de la comunidad **'Node Exporter Full' (ID: 1860)** para tener un panel visual profesional completo con más de 30 gráficos en solo 10 segundos.

Casos Prácticos Reales en Producción

Situaciones de ingeniería reales sin mención de presupuestos ficticios.

1La Detección Temprana del Disco Lleno que Salvó el Black Friday

Escenario Real:

Durante una jornada de descuentos masivos, una base de datos comenzó a generar logs a una tasa diez veces superior a lo normal.

Solución de Ingeniería Aplicada:

Prometheus tenía configurada la alerta PromQL `predict_linear(node_filesystem_free_bytes[4h], 4 * 3600) < 0`. La regla calculó matemáticamente que el disco se quedaría sin espacio en exactamente 3 horas y media.

Fichas Nemotécnicas de Conceptos Clave

Glosario rápido para recordar los términos fundamentales de la lección.

Prometheus

Sistema de monitoreo de código abierto basado en series temporales con modelo de sondeo activo (Pull).

Grafana

Herramienta líder de analítica y visualización de datos interactiva que permite crear dashboards a partir de múltiples orígenes.

PromQL

Lenguaje de consulta de Prometheus que permite filtrar, agregar y operar sobre datos multidimensionales en tiempo real.

Autoevaluación Rápida3 preguntas

Prometheus y Grafana: Monitoreo y Métricas de Servidores en Tiempo Real

Selecciona una opción para autoevaluarte al instante. La respuesta se califica de inmediato.

Aciertos: 0 / 3
1

¿Cómo recopila Prometheus las métricas de los servidores que monitorea?

2

¿Cuál es el rol primordial de Grafana dentro de este stack de observabilidad?

3

¿Para qué sirve el componente 'Node Exporter' en un entorno Linux?

Preguntas Frecuentes (FAQ)

¿Cuánto tiempo guarda Prometheus los datos históricos?

Por defecto, Prometheus retiene los datos durante 15 días (`--storage.tsdb.retention.time=15d`). Si necesitas retener métricas durante años para análisis histórico de tendencias, se utilizan sistemas de almacenamiento a largo plazo compatibles como **Thanos**, **Cortex** o **VictoriaMetrics**.

¿Cuál es la diferencia entre Métricas, Logs y Trazas (Los 3 Pilares de la Observabilidad)?

- **Métricas (Prometheus)**: Números agregados medidos en el tiempo (ej. CPU está al 85%, hay 300 peticiones/s). Son ultraligeras. - **Logs (Loki / ELK)**: Eventos textuales discretos con detalles de un error específico. - **Trazas (Jaeger / Tempo)**: El viaje completo de una petición cruzando múltiples microservicios.

Temas relacionados:#DevOps#Prometheus#Grafana#Monitoreo#Métricas#Linux