Skip to content
Learni
View all tutorials
DevOps

Comment configurer Grafana avec Prometheus en 2026

18 minINTERMEDIATE

Introduction

Grafana est devenu l'outil de référence pour la visualisation de métriques en 2026. Couplé à Prometheus, il permet de surveiller des infrastructures complexes en temps réel. Ce tutoriel intermédiaire vous guide pas à pas dans le déploiement d'une stack complète, la configuration du provisioning automatique et la mise en place d'alertes. Vous apprendrez à créer des dashboards réutilisables et à éviter les pièges courants en production.

Prérequis

  • Docker et Docker Compose v2
  • Connaissances de base en Prometheus
  • Accès à un terminal Linux/macOS
  • Notions de YAML et JSON

Déploiement de la stack

docker-compose.yml
version: '3.8'
services:
  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
  grafana:
    image: grafana/grafana:latest
    volumes:
      - grafana-storage:/var/lib/grafana
      - ./provisioning:/etc/grafana/provisioning
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
  grafana-storage:

Ce fichier docker-compose déploie Prometheus et Grafana avec des volumes persistants. Le dossier provisioning permet la configuration automatique des datasources et dashboards au démarrage.

Configuration de Prometheus

Prometheus collecte les métriques. Nous allons maintenant créer sa configuration principale pour scraper les cibles.

Configuration Prometheus

prometheus.yml
global:
  scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['node-exporter:9100']

Ce fichier définit les jobs de scraping. L'intervalle de 15 secondes est adapté à la plupart des cas intermédiaires. Ajoutez vos propres targets selon vos services.

Provisioning Grafana

Le provisioning permet de configurer automatiquement les datasources et dashboards sans interface manuelle.

Datasource provisioning

provisioning/datasources/prometheus.yml
apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    url: http://prometheus:9090
    isDefault: true
    editable: false

Ce fichier YAML est chargé automatiquement par Grafana au démarrage. Il crée la connexion Prometheus sans intervention manuelle.

Dashboard JSON complet

provisioning/dashboards/cpu-dashboard.json
{
  "dashboard": {
    "title": "CPU & Mémoire",
    "panels": [
      {
        "title": "CPU Usage",
        "type": "timeseries",
        "targets": [
          {
            "expr": "100 - (avg by (instance) (irate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)",
            "refId": "A"
          }
        ]
      }
    ],
    "time": {
      "from": "now-1h",
      "to": "now"
    }
  }
}

Ce dashboard JSON affiche l'utilisation CPU. Placez-le dans le dossier provisioning/dashboards pour qu'il apparaisse automatiquement dans Grafana.

Règles d'alerte

prometheus/rules.yml
groups:
  - name: cpu_alerts
    rules:
      - alert: HighCPUUsage
        expr: 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "CPU élevée sur {{ $labels.instance }}"

Ces règles définissent une alerte quand le CPU dépasse 80% pendant 5 minutes. Intégrez ce fichier dans la configuration Prometheus pour activer l'alerting.

Bonnes pratiques

  • Utilisez toujours le provisioning pour les environnements reproductibles
  • Limitez les droits des dashboards partagés
  • Activez l'authentification OAuth ou LDAP en production
  • Archivez vos dashboards JSON dans Git
  • Testez les alertes avec des seuils réalistes

Erreurs courantes à éviter

  • Oublier de monter le volume provisioning dans Docker Compose
  • Utiliser des expressions PromQL trop coûteuses sans agrégation
  • Ne pas configurer les règles de rétention Prometheus
  • Ignorer les permissions des volumes Grafana (erreurs 403)

Pour aller plus loin

Explorez les plugins Grafana Enterprise et les intégrations avec Loki et Tempo. Rejoignez nos formations avancées sur Learni Group.