Prometheus
Tecnología

Prometheus

Monitorización y alertas basadas en métricas

Prometheus es un sistema de monitorización de código abierto construido en torno a una base de datos de series temporales y un modelo de métricas basado en pull. Recopila (scrape) métricas de los targets configurados a intervalos regulares, las almacena y te permite consultarlas y crear alertas con su propio lenguaje de consultas, PromQL.

Cómo funciona

Prometheus consulta periódicamente endpoints HTTP que exponen métricas en su formato de exposición basado en texto; la mayoría de las aplicaciones y componentes de infraestructura lo exponen de forma nativa o mediante un exporter. Las muestras recopiladas se almacenan en una base de datos local de series temporales. PromQL consulta esos datos para dashboards (comúnmente renderizados en Grafana) y para reglas de alertas, que Prometheus evalúa continuamente y reenvía a Alertmanager cuando se activan.

Conceptos clave

  • Metric (métrica) — una medición numérica con nombre y marca de tiempo, opcionalmente con etiquetas clave-valor para dimensionalidad (p. ej. http_requests_total{method="GET", status="200"}).
  • Target — un endpoint que Prometheus consulta para obtener métricas, descubierto de forma estática o mediante service discovery (incluido el service discovery nativo de Kubernetes).
  • PromQL — el lenguaje de consultas de Prometheus para seleccionar, agregar y calcular sobre datos de series temporales.
  • Alertmanager — un componente aparte que deduplica, agrupa y enruta las alertas que disparan las reglas de alerta de Prometheus hacia correo, Slack, PagerDuty y otros receptores.

Por qué los equipos adoptan Prometheus

  • Service discovery nativo de Kubernetes. Puede descubrir automáticamente Pods, Services y endpoints para consultar a medida que cambia tu clúster.
  • Un lenguaje de consultas potente. PromQL admite agregación rica, cálculo de tasas y joins entre métricas.
  • Métricas dimensionales. Las etiquetas te permiten desglosar una sola métrica por cualquier dimensión que hayas instrumentado, sin predefinir cada combinación.
  • El estándar de facto. La mayor parte del software nativo de Kubernetes, ingress controllers, service meshes, los propios componentes de Kubernetes, expone métricas en formato Prometheus por defecto.

Primeros pasos

Instala Prometheus en tu clúster (comúnmente mediante el chart de Helm kube-prometheus-stack, que incluye Grafana y Alertmanager), configúralo para descubrir los targets que quieres monitorizar y escribe tus primeras reglas de alertas. Las guías siguientes cubren las configuraciones comunes de scrape y alertas.