Anuncio

Monitoreo en Kubernetes: Configuración de Prometheus y Grafana

Actualizado: April 2026 • 8 min de lectura
Monitoreo en Kubernetes: Configuración de Prometheus y Grafana

Operar Kubernetes a ciegas en entornos de producción es una receta garantizada para el desastre. La naturaleza dinámica de los contenedores (que se crean, destruyen y reprograman constantemente) hace que las herramientas tradicionales de monitorización de servidores queden completamente obsoletas.

Para gestionar de forma eficaz clústeres complejos, la industria se ha estandarizado en torno a una combinación ganadora de código abierto: Prometheus para la recolección y almacenamiento de métricas en formato de series temporales, y Grafana para la visualización rica y creación de cuadros de mando (dashboards).

En este artículo veremos la arquitectura de monitorización en Kubernetes y cómo desplegar este stack utilizando las mejores prácticas modernas.


La Arquitectura de Monitoreo Cloud Native

Para entender cómo funciona este stack, es vital conocer el flujo de los datos desde que se producen hasta que se visualizan:

  1. Exposición de Métricas (Endpoints de /metrics): Cada componente (nodos de Kubernetes, la API del sistema y tus propios microservicios) expone una URL HTTP bajo el formato estándar de Prometheus donde muestra sus métricas en texto plano.
  2. Kube-State-Metrics: Un servicio auxiliar que escucha la API de Kubernetes y traduce la información de estado de los recursos (número de Pods deseados, estado de los nodos, reinicios de contenedores) en métricas legibles por Prometheus.
  3. Node Exporter: Un daemon que se ejecuta en cada nodo físico o virtual para extraer métricas de hardware del sistema operativo subyacente (uso de disco, E/S de red, memoria libre, carga del kernel).
  4. Prometheus Server (Pull Model): A diferencia de otros sistemas que empujan datos, Prometheus realiza peticiones HTTP de forma activa (hace scraping) periódicamente a todos los servicios registrados para descargar sus métricas y almacenarlas en su base de datos temporal (TSDB).
  5. Grafana: Se conecta a Prometheus como origen de datos (Data Source) para consultar las métricas mediante consultas PromQL y renderizarlas en gráficos interactivos en tiempo real.

Despliegue Simplificado con kube-prometheus-stack

Instalar y configurar manualmente cada una de estas piezas por separado (definir ServiceMonitors, configurar alertas de Alertmanager, diseñar paneles de Grafana) requiere días de configuración.

La forma estándar y recomendada por la comunidad es utilizar Helm y el chart unificado kube-prometheus-stack (mantenido por el proyecto Prometheus Operator), el cual instala de forma automática todo el ecosistema configurado por defecto.

Paso 1: Añadir el repositorio de Helm

Asegúrate de tener Helm instalado y añade el repositorio oficial de la comunidad de Prometheus:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

Paso 2: Configurar y personalizar los valores básicos

Antes de instalar, creamos un archivo values.yaml para habilitar el almacenamiento persistente en Prometheus y definir credenciales de acceso seguras para Grafana:

grafana:
  adminPassword: "UnaContrasenaMuySegura2026"
  persistence:
    enabled: true
    size: 10Gi
prometheus:
  prometheusSpec:
    retention: 15d
    storageSpec:
      volumeClaimTemplate:
        spec:
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 20Gi

Paso 3: Lanzar la instalación

Instala el stack en un namespace dedicado a la observabilidad:

kubectl create namespace monitoring
helm install prometheus-stack prometheus-community/kube-prometheus-stack -f values.yaml -n monitoring

Dashboards Fundamentales en Grafana

Una vez instalado, puedes acceder a la interfaz de Grafana mediante port-forward:

kubectl port-forward svc/prometheus-stack-grafana -n monitoring 3000:80

Al acceder a http://localhost:3000 con el usuario admin y la contraseña definida en tus valores, descubrirás que el chart ha preconfigurado docenas de dashboards extremadamente completos. Los paneles más críticos que debes revisar con frecuencia son:

  • Kubernetes / Compute Resources / Cluster: Visión general de la capacidad de cómputo y consumo total de CPU y memoria de todo el clúster.
  • Kubernetes / Compute Resources / Namespace (Pods): Permite ver en detalle qué namespaces y qué pods están consumiendo la mayor cantidad de recursos.
  • Use Method (Utilización, Saturación y Errores): El panel ideal para hacer troubleshooting rápido cuando los nodos muestran signos de degradación.

Implementar este stack te dotará de la visibilidad necesaria para anticipar problemas de capacidad, optimizar los recursos del clúster y asegurar la alta disponibilidad de tus aplicaciones en producción.