RousselTMLEARNING

Artículo · Prometheus: del descubrimiento a la experiencia

Visualizar métricas con Grafana

Este artículo está disponible en francés.

1. L'interface native de Prometheus #

Un outil d'exploration.

Que permet l'UI Prometheus ? #

L'interface web de Prometheus (port 9090) est conçue pour explorer : tester une requête PromQL, vérifier l'état des cibles (Status > Targets), consulter les règles et les alertes. Elle n'est pas faite pour construire des tableaux de bord durables : pour cela on utilise Grafana.

# Vérifications rapides en ligne de commande
curl -s http://localhost:9090/-/healthy
curl -s 'http://localhost:9090/api/v1/targets' | jq '.data.activeTargets[] | {job: .labels.job, health: .health}'
curl -s 'http://localhost:9090/api/v1/query?query=up' | jq '.data.result[] | {instance: .metric.instance, up: .value[1]}'
curl -s 'http://localhost:9090/api/v1/query_range?query=rate(node_cpu_seconds_total[5m])&start=2026-10-18T08:00:00Z&end=2026-10-18T09:00:00Z&step=60'

2. Connecter Grafana à Prometheus #

Une stack complète en 2 minutes.

Docker Compose et provisioning #

Prometheus et Grafana
Grafana ne stocke aucune métrique : il interroge la source de données.
# docker-compose.yml
services:
  prometheus:
    image: prom/prometheus:latest
    ports: ["9090:9090"]
    volumes: ["./prometheus.yml:/etc/prometheus/prometheus.yml"]
  node-exporter:
    image: prom/node-exporter:latest
    ports: ["9100:9100"]
  grafana:
    image: grafana/grafana:latest
    ports: ["3000:3000"]
    volumes: ["./provisioning:/etc/grafana/provisioning"]
# provisioning/datasources/prometheus.yml
apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    url: http://prometheus:9090
    isDefault: true
    jsonData: { timeInterval: 15s }
docker compose up -d
# Grafana : http://localhost:3000 (admin / admin)  ->  Explore -> Prometheus

3. Construire de bons tableaux de bord #

Les méthodes RED et USE.

La méthode USE pour les ressources #

Utilisation, Saturation, Erreurs : à appliquer à chaque ressource (CPU, mémoire, disque, réseau).

# Utilisation CPU (%)
100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[$__rate_interval])) * 100

# Saturation CPU (charge par cœur)
node_load1 / count by (instance) (node_cpu_seconds_total{mode="idle"})

# Mémoire utilisée (%)
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100

# Utilisation disque (%)
100 - (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes * 100)

# Débit réseau (octets/s)
sum by (instance) (rate(node_network_receive_bytes_total{device!="lo"}[$__rate_interval]))

La méthode RED pour les services #

Rate (requêtes/s), Errors (taux d'erreur), Duration (latence) : à appliquer à chaque service.

# Rate
sum by (service) (rate(http_requests_total[$__rate_interval]))

# Errors (%)
100 * sum by (service) (rate(http_requests_total{status=~"5.."}[$__rate_interval]))
    / sum by (service) (rate(http_requests_total[$__rate_interval]))

# Duration p95
histogram_quantile(0.95, sum by (le, service) (rate(http_request_duration_seconds_bucket[$__rate_interval])))

Variables et import de dashboards #

# Variable "instance" (Dashboard settings > Variables > Query)
label_values(node_uname_info, nodename)
# Utilisation dans un panneau : node_load1{instance=~"$instance"}

# Importer le dashboard communautaire "Node Exporter Full" (ID 1860)
# Dashboards > New > Import > 1860 > choisir la source Prometheus
Bonne Pratique : Utilisez $__rate_interval plutôt qu'une fenêtre fixe comme [5m] : Grafana l'adapte à la résolution du graphe et à l'intervalle de scrape.
Erreur Courante : Éviter les panneaux qui agrègent des centaines de séries à haute cardinalité : le navigateur et Prometheus saturent. Filtrez par variable et utilisez topk(10, ...).

📄 Prometheus : visualiser ses métriques (UI, Grafana et dashboards) →

Mi seguimiento

  • ⏱ Duración estimada : ≈ 10 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

💬 Debates recientes del curso

Hacer una pregunta sobre esta lección →Ver todos los debates del curso

Glossaire de la formation

Observabilidad

La capacidad de conocer el estado interno de un sistema a partir de los datos que emite.Estos datos se clasifican en 3 pilares: logs (registros)métric...

Métricas

Medidas numéricas recopiladas a intervalos regulares (ej: CPU, RAM, tiempo de respuesta) utilizadas para evaluar el estado de salud general de un sist...

Alerting (Alertas)

Proceso que consiste en notificar a los equipos (vía email, Slack, Teams) cuando se detecta un evento específico, un umbral superado o una anomalía.

Arquitectura

Diseño global y estructural de un sistema informático, definiendo sus diferentes componentes, sus relaciones y los principios que guían su evolución.

OpenTelemetry

Framework de código abierto que proporciona estándares, APIs y SDKs para recopilar y exportar datos de observabilidad (trazas, métricas, logs) de mane...

Artículos recomendados

Grafana vs Kibana : Quel outil de visualisation choisir ?

Découvrez les différences fondamentales entre Grafana, le roi des métriques multi-sources, et Kib...

Bonnes pratiques Prometheus : métriques, cardinalité, règles et exploitation

Bonnes pratiques Prometheus : nommage des métriques, labels et cardinalité, intervalles de scrape...

Les types de métriques dans Prometheus

Découvrez en détail les quatre types de métriques supportés par Prometheus (Counter, Gauge, Histo...

Grafana Alloy : Collecter les métriques système et les logs locaux

Découvrez comment configurer Grafana Alloy pour superviser le serveur sur lequel il s'exécute, av...

PromQL : introduction au langage de requête de Prometheus

Apprendre PromQL, le langage de requête de Prometheus : sélecteurs, rate, sum by, histogrammes et...

Grafana Alloy : L'importance de l'auto-supervision (Self-Monitoring)

Découvrez pourquoi et comment configurer Grafana Alloy pour qu'il se supervise lui-même, en colle...

Prometheus sur Kubernetes et l'interface web de Prometheus

Déployer Prometheus sur Kubernetes avec kube-prometheus-stack (Prometheus Operator, ServiceMonito...

Recording rules Prometheus : accélérer ses requêtes et ses tableaux de bord

Comprendre et maîtriser les recording rules de Prometheus : évaluation, convention de nommage, pi...

Métricas OpenTelemetry en Elasticsearch

Recoger métricas de host, de Kubernetes y de aplicaciones con OpenTelemetry, entender la temporal...

Apoyar

♥ APOYAR

Apoya RousselTM Learning

Los cursos, artículos, prácticas y certificados siguen siendo gratuitos y sin publicidad intrusiva. Una contribución libre, por el importe que elijas, financia el alojamiento, los entornos de prácticas y nuevos contenidos.

Contribuir con PayPal Importe libre · tarjeta o cuenta PayPalMás información
QR code PayPal
O escanea este código QR con tu teléfono

¡Gracias, cada contribución cuenta!