Prometheus Prometheus

Visualiza métricas en Grafana: data sources, paneles y dashboards de la comunidad

Conecta Grafana a Prometheus, construye un panel desde cero y luego importa un dashboard ya hecho en lugar de construirlo todo a mano.

12 min Principiante

Prometheus almacena y consulta métricas; no está pensado para ser el lugar donde las miras día a día. Grafana es la capa de dashboards más comúnmente combinada con él. Esta guía conecta ambos, construye un panel a mano para entender qué ocurre por debajo y luego importa un dashboard de la comunidad en lugar de construirlo todo desde cero, que es como realmente funciona la mayor parte del uso real de Grafana.

Añade Prometheus como data source

# docker-compose.yml (añadir a la pila de la guía anterior)
  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - "3000:3000"
    volumes:
      - grafana-data:/var/lib/grafana

Tras docker compose up -d, abre http://localhost:3000 e inicia sesión con el admin / admin predeterminado (se te pedirá cambiarlo). Añade un data source en Connections → Data sources → Add new data source, elige Prometheus y apunta su URL a http://prometheus:9090, el nombre de servicio de Compose de la guía anterior, ya que Grafana y Prometheus comparten la misma red de Docker. Guarda y prueba; una conexión exitosa confirma que Grafana puede llegar a Prometheus antes de construir nada encima.

Construye un panel a mano

Crea un dashboard nuevo, añade una visualización y selecciona el data source de Prometheus. En lugar de escribir PromQL directamente, el query builder de Grafana te permite construir una consulta campo por campo, una forma razonable de aprender qué hace realmente una consulta:

  1. Métrica: selecciona node_cpu_seconds_total.
  2. Filtros de etiquetas: añade mode != "idle", ya que el tiempo de CPU en modo idle no es la parte que te interesa visualizar. Si solo tienes una instancia de node_exporter, las etiquetas job e instance no distinguirán nada y pueden omitirse; importan cuando monitorizas más de un host.
  3. Grafana te indicará que un counter como este necesita una función de tasa. Cámbialo a rate() (o irate(), aunque, como se cubrió en la guía de PromQL, rate() es la opción más estable por defecto) sobre una ventana como 1m.
  4. En Options, cambia la leyenda de Auto a un formato personalizado, {{mode}}, para que las líneas resultantes se etiqueten system, user, iowait y así sucesivamente, en lugar del conjunto de etiquetas completo y repetitivo.

Guarda el panel con un nombre y añádelo a un dashboard. Debajo del builder, una vista Code muestra el PromQL real que construyó Grafana, algo que conviene mirar una vez para poder eventualmente saltarte el builder y escribir las consultas directamente.

Un segundo panel: uso de disco a partir de una expresión

No todos los paneles provienen de una sola métrica; algunos provienen de combinar unas cuantas:

node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}

Esto calcula los bytes realmente usados en el sistema de archivos raíz restando los bytes libres del tamaño total, filtrado al punto de montaje raíz para que los sistemas de archivos temporales y virtuales no ensucien el resultado. Pega esto directamente en la vista Code del panel en lugar de intentar construirlo campo por campo; cualquier cosa que implique aritmética entre dos métricas suele ser más rápida de escribir que de armar con clics en un builder.

Importa un dashboard de la comunidad en lugar de construir desde cero

Construir cada panel a mano no escala cuando tienes decenas de métricas que vale la pena seguir, y para exporters comunes, alguien casi con seguridad ya ha construido y publicado un dashboard completo. La biblioteca de dashboards de Grafana permite buscar por nombre de exporter, y cada dashboard tiene un ID numérico:

  1. Busca en la biblioteca el exporter que usas (node exporter, cadvisor) y elige uno con buenas valoraciones y una actualización reciente.
  2. Copia el ID del dashboard.
  3. En Grafana, ve a Dashboards → New → Import, pega el ID y cárgalo.
  4. Selecciona tu data source de Prometheus cuando se te pida e importa.

Esto te da un conjunto completo y prediseñado de paneles, CPU, memoria, swap, E/S de disco, errores de red, uptime y más, sin construir cada uno a mano. También es una forma realmente útil de aprender PromQL: abre el editor de un panel importado y lee las consultas que usa para una métrica que entiendas bien, lo que suele ser más claro que leer documentación de forma aislada.

Personaliza a partir de ahí

Un dashboard importado es un punto de partida, no una respuesta final. Cada panel sigue siendo totalmente editable: ajusta filtros de etiquetas, cambia tipos de visualización, retoca umbrales y colores, o elimina paneles que no necesites. Trata la importación como un andamiaje a partir del cual construyes hacia fuera, en lugar de algo que o bien usas sin modificar o evitas por completo.

Guías populares