
Grafana est votre cockpit d’observabilité : vous branchez des sources de données (métriques / logs / traces) et vous obtenez des dashboards lisibles, une exploration ad-hoc et des alertes.
Grafana ne stocke pas : il interroge des backends (Prometheus, Loki, Tempo, etc.) et affiche / alerte.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer Grafana 13 en Docker, Kubernetes (Helm) ou par paquet APT
- Brancher une datasource (Prometheus) et importer un dashboard prêt à l'emploi
- Créer une alerte utile : un contact point et une règle orientée symptôme
- Provisionner datasources et dashboards en YAML (as-code), sans clic
- Sécuriser Grafana avant la production : mot de passe, HTTPS, base externe
Quickstart en 2 minutes
Section intitulée « Quickstart en 2 minutes »Trois méthodes selon votre contexte. Docker convient au test local, Helm à Kubernetes, APT à un serveur dédié. Dans tous les cas, vous aurez Grafana accessible en moins de 2 minutes.
docker run -d \ --name grafana \ -p 3000:3000 \ -v grafana-data:/var/lib/grafana \ grafana/grafana-enterprise:13.1.0- Ouvrir
http://localhost:3000 - Login :
admin/admin(Grafana vous force à changer le mot de passe)
helm repo add grafana https://grafana.github.io/helm-chartshelm repo updatehelm install grafana grafana/grafana -n monitoring --create-namespaceMot de passe admin :
kubectl get secret -n monitoring grafana \ -o jsonpath="{.data.admin-password}" | base64 -dAccès (temporaire) :
kubectl port-forward -n monitoring svc/grafana 3000:80sudo apt-get install -y apt-transport-https software-properties-common wgetsudo mkdir -p /etc/apt/keyrings/sudo wget -O /etc/apt/keyrings/grafana.asc https://apt.grafana.com/gpg-full.key
echo "deb [signed-by=/etc/apt/keyrings/grafana.asc] https://apt.grafana.com stable main" \ | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get updatesudo apt-get install -y grafanasudo systemctl enable --now grafana-serverAccès : http://localhost:3000
Ce que Grafana fait (et ce qu’il ne fait pas)
Section intitulée « Ce que Grafana fait (et ce qu’il ne fait pas) »Beaucoup de débutants pensent que Grafana "fait tout". En réalité, Grafana est spécialisé dans l'affichage : il lit vos données, les rend visuelles, et vous alerte. Mais il ne collecte ni ne stocke rien. Ce sont des datasources qui font ce travail : Prometheus pour les métriques, Loki pour les logs, Tempo pour les traces.
| Grafana fait | Grafana ne fait pas |
|---|---|
| Dashboards (graphes, tables, stats, heatmaps) | Stockage des métriques/logs/traces |
| Explore (requêtes ad-hoc) | Collecte (exporters/agents) |
| Alerting (règles + routage + notifications) | Discovery / scraping à votre place |
Les 4 concepts à connaître (sinon tout paraît flou)
Section intitulée « Les 4 concepts à connaître (sinon tout paraît flou) »Si vous comprenez ces 4 objets, tout le reste devient logique. Inversement, sauter cette étape rend chaque action dans l'interface confuse.
Datasource
La connexion vers vos données. Sans datasource → pas de graphe.
Panel
Une visualisation (graphe/table/stat). Le panel contient la requête (PromQL, LogQL, SQL…).
Dashboard
Un écran composé de panels + variables. Il doit répondre à 1 question (ex: “mon cluster est-il OK ?”).
Alerting
Des règles + un routage + des contacts. Une alerte utile décrit un symptôme.
Obtenir de la valeur en 10 minutes
Section intitulée « Obtenir de la valeur en 10 minutes »Une fois Grafana installé, suivez ces 3 étapes pour passer de l'écran vide à un dashboard utile. L'objectif : avoir quelque chose à montrer en 10 minutes.
1) Ajouter une datasource (Prometheus en exemple)
Section intitulée « 1) Ajouter une datasource (Prometheus en exemple) »- Connections → Data sources → Add data source
- Choisir Prometheus
- URL :
http://prometheus:9090(adaptez à votre environnement) - Save & test
2) Importer un dashboard (le plus rapide)
Section intitulée « 2) Importer un dashboard (le plus rapide) »- Dashboards → Import
- Coller un ID (ex:
1860“Node Exporter Full”) - Sélectionner la datasource
- Import
3) Rendre le dashboard “utilisable” (sinon il reste décoratif)
Section intitulée « 3) Rendre le dashboard “utilisable” (sinon il reste décoratif) »- Ajoutez 1 variable : cluster ou instance
- Ajoutez 1 panel “symptôme” :
up, erreurs, latence… - Limitez les séries affichées (topk / agrégation) : sinon Grafana devient illisible
Alerting utile en 5 minutes (version débutant)
Section intitulée « Alerting utile en 5 minutes (version débutant) »Une alerte “CPU > 80%” brute spamme vite. Le minimum vital :
1 règle = 1 symptôme, 1 destination, un seuil raisonnable, un délai. Pour le routage (déduplication, regroupement, astreintes), Grafana s'appuie sur les mêmes principes qu'Alertmanager ; les bonnes pratiques sont détaillées dans le guide alerting.
- Alerting → Contact points → Add contact point
- Configurez Email/Slack/Webhook
- Test
- Alerting → Alert rules → New alert rule
- Requête simple (exemple Prometheus) :
up == 0 - Condition : “IS ABOVE 0” pendant 2m
- Ajoutez
severity="critical"+team="platform" - Sauvegardez + vérifiez le routage
Provisionner Grafana en YAML (sans clic)
Section intitulée « Provisionner Grafana en YAML (sans clic) »Configurer Grafana à la souris ne se reproduit pas : à la recréation du conteneur tout est perdu, et rien n'est versionné. La pratique d'équipe est le provisioning as-code. Des fichiers YAML déposés dans /etc/grafana/provisioning/ (sous-dossiers datasources/, dashboards/, plugins/) sont lus au démarrage. Une ressource ainsi déclarée devient read-only dans l'interface : c'est le signe qu'elle est gérée par le code, pas par un clic.
Voici une datasource Prometheus provisionnée, à placer dans provisioning/datasources/prometheus.yaml :
apiVersion: 1
datasources: - name: Prometheus type: prometheus access: proxy url: http://prometheus:9090 isDefault: true jsonData: httpMethod: POST timeInterval: 10sAu démarrage, Grafana crée la datasource. On le vérifie par l'API, qui la renvoie avec "readOnly": true, preuve qu'elle vient du provisioning :
curl -s "http://admin:VOTRE_MDP@localhost:3000/api/datasources"[{"name":"Prometheus","type":"prometheus","access":"proxy", "url":"http://prometheus:9090","isDefault":true,"readOnly":true}]Sur Grafana 13, la datasource apparaît dès le premier démarrage et une requête de test (up) la traverse jusqu'à Prometheus sans aucune action dans l'interface. Le mot de passe admin se fixe en parallèle par la variable GF_SECURITY_ADMIN_PASSWORD, à ne jamais laisser sur admin.
Cas d’usage (quand Grafana brille vraiment)
Section intitulée « Cas d’usage (quand Grafana brille vraiment) »Grafana s'adapte à de nombreux contextes. Voici les cas où il apporte le plus de valeur, avec les patterns de dashboards et d'alerting associés.
Kubernetes
Vues cluster / namespaces / workloads. Corrélation logs + métriques. Intégration native Prometheus Operator.
SRE / Infra
Les 4 "golden signals" : latence, erreurs, saturation, trafic. Dashboards serveurs, réseau, stockage.
Applications
Métriques RED/USE par service. Alerting orienté client. Traces + logs corrélés.
FinOps
Dashboards coûts cloud, usage par équipe, tendances et prévisions.
Les pièges qui rendent Grafana frustrant
Section intitulée « Les pièges qui rendent Grafana frustrant »Ces erreurs sont fréquentes et transforment Grafana en usine à gaz. La bonne nouvelle : chaque piège a un fix simple.
- Dashboard "fourre-tout" → personne ne le consulte. Fix : 1 dashboard = 1 question
- Trop de séries sur un panel → UI lente / illisible. Fix : agréger,
topk, limiter - Variables non bornées → timeouts. Fix : valeurs limitées, labels stables
- Alertes "seuils bruit" → spam. Fix : alerter sur symptômes (down, erreurs, latence)
- Pas de persistence → tout disparaît. Fix : volume Docker / PVC K8s
- Clicops en prod → non reproductible. Fix : provisioning YAML (dans la formation)
Checklist minimum avant production
Section intitulée « Checklist minimum avant production »Avant de déclarer Grafana "prêt pour la prod", validez ces points. Un oubli coûte cher (données perdues, accès non sécurisé, dashboards non reproductibles).
- Persistence activée (volume/PVC)
- Mot de passe admin changé / désactivé via SSO
- HTTPS (Ingress / reverse proxy)
- RBAC (folders, rôles, accès)
- Backups testés (SQLite/PostgreSQL selon déploiement)
- 1 dashboard “overview” réellement utilisé
- 5–10 alertes max au départ (qualité > quantité)
À retenir
Section intitulée « À retenir »- Grafana visualise, alerte et explore, mais ne stocke ni ne collecte rien : tout vient des datasources.
- Les 4 objets structurants : datasource, panel, dashboard, alerting.
- Démarrage le plus rapide : Docker avec un volume sur
/var/lib/grafana, sinon perte des données au redémarrage. - L'alerting unifié est le défaut depuis Grafana 9 ; viser 1 règle = 1 symptôme, pas des seuils bruités.
- En équipe, provisionner en YAML (
/etc/grafana/provisioning/) plutôt que cliquer : reproductible et versionné. - Avant la prod : mot de passe admin changé, HTTPS via reverse proxy, PostgreSQL/MySQL à la place de SQLite (haute disponibilité).
Prochaines étapes
Section intitulée « Prochaines étapes »Grafana n'a de valeur qu'avec ses datasources et le reste de la stack d'observabilité. Voici les briques à brancher autour, chacune détaillée dans son guide.
Ressources
Section intitulée « Ressources »Liens officiels pour approfondir ou résoudre un problème spécifique.
- Documentation Grafana : https://grafana.com/docs/grafana/latest/
- Installation Docker : https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/
- Installation Helm : https://grafana.com/docs/grafana/latest/setup-grafana/installation/helm/
- Dashboards communautaires : https://grafana.com/grafana/dashboards/
- Grafana Play (démo) : https://play.grafana.org/
- Releases : https://grafana.com/grafana/download