Grafana

Dashboards d'observabilite - visualiser metriques de Prometheus, Loki et 50+ sources avec alerting

TL;DR

Quoi : Une plateforme open-source d’analyse et de visualisation.

Pourquoi : Beaux dashboards, multiples sources de données, alerting, vaste écosystème de plugins.

Quick Start

Installation avec Docker :

docker run -d --name grafana \
  -p 3000:3000 \
  grafana/grafana

Ouvrez http://localhost:3000 (admin/admin)

Ou avec Docker Compose (avec Prometheus) :

version: '3'
services:
  prometheus:
    image: prom/prometheus
    ports:
      - "9090:9090"
  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=secret

Cheatsheet

ActionComment
Ajouter source de donnéesParamètres → Sources de données → Ajouter
Créer dashboard+ → Dashboard
Ajouter panneauDashboard → Ajouter panneau
Importer dashboard+ → Import → Entrer ID
Créer alertePanneau → Alerte → Créer

Gotchas

Adding Prometheus data source

  1. Allez dans Configuration → Sources de données
  2. Cliquez sur “Ajouter une source de données”
  3. Sélectionnez Prometheus
  4. URL : http://prometheus:9090 (ou votre URL Prometheus)
  5. Cliquez sur “Sauvegarder & Tester”

Basic panel query (Prometheus)

# Taux de requêtes
rate(http_requests_total[5m])

# Avec légende
rate(http_requests_total{job="api"}[5m])
# Légende : {{method}} {{path}}

Dashboard variables

# Variable de requête
label_values(http_requests_total, job)

# Utiliser dans le panneau
http_requests_total{job="$job"}
DashboardID
Node Exporter Full1860
Docker Containers893
Kubernetes Cluster6417
Nginx9614

Import : Dashboard → Import → Entrer ID

Alerting

# Grafana 9+ alerting unifié
# Créer dans l'UI : Alert Rules → Nouvelle règle d'alerte
# Ou provisionner via YAML :

apiVersion: 1
groups:
  - name: example
    rules:
      - alert: HighCPU
        condition: B
        data:
          - refId: A
            datasourceUid: prometheus
            model:
              expr: avg(rate(node_cpu_seconds_total{mode!="idle"}[5m])) > 0.8

Next Steps