Installer Grafana avec Docker Compose : guide pas à pas
Grafana est l'outil de référence pour visualiser des métriques et construire des tableaux de bord de supervision. Avec Docker Compose, on peut le déployer proprement en quelques minutes, avec une configuration reproductible et facile à faire évoluer. C'est exactement le genre de socle que je mets en place chez mes clients avant d'y brancher leurs métriques (serveurs, réseau, applications).
docker --version et docker compose version), ainsi qu'un accès en ligne de commande à votre serveur (Linux, macOS ou WSL).1. Créer le fichier docker-compose.yml
Créez un dossier dédié pour votre stack de supervision, puis un fichier docker-compose.yml à l'intérieur :
version: "3.8"
services:
grafana:
image: grafana/grafana-oss:latest
container_name: grafana
restart: unless-stopped
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: change-moi
GF_SERVER_ROOT_URL: http://localhost:3000
volumes:
- grafana-data:/var/lib/grafana
# Volume nommé pour persister les dashboards et la configuration
volumes:
grafana-data:
Ce fichier définit un unique service grafana, exposé sur le port 3000, avec un identifiant/mot de passe administrateur définis via variables d'environnement et un volume nommé pour que vos dashboards survivent aux redémarrages du conteneur.
2. Démarrer la stack
Depuis le dossier contenant votre docker-compose.yml, lancez :
$ docker compose up -d
# Vérifier que le conteneur tourne bien
$ docker compose ps
Docker télécharge l'image officielle puis démarre Grafana en arrière-plan. Rendez-vous ensuite sur http://localhost:3000 (ou l'adresse IP de votre serveur) et connectez-vous avec les identifiants définis dans le fichier.
3. Changer le mot de passe et sécuriser l'accès
Dès la première connexion, changez le mot de passe administrateur si vous ne l'avez pas déjà personnalisé dans le fichier. Quelques réflexes essentiels pour un déploiement exposé sur Internet :
- Ne jamais laisser
admin / adminen production. - Placer Grafana derrière un reverse proxy (Nginx, Traefik ou Caddy) avec HTTPS via Let's Encrypt.
- Restreindre l'accès par IP ou VPN si l'outil n'a pas besoin d'être public.
- Activer l'authentification via un fournisseur externe (OAuth, LDAP) pour une équipe.
4. Ajouter une source de données
Grafana ne stocke pas de métriques par lui-même : il les visualise depuis une source externe. Les plus courantes sont Prometheus, InfluxDB ou encore une base SQL classique. Pour ajouter Prometheus par exemple :
- Dans le menu, ouvrez Connections → Data sources.
- Cliquez sur Add data source et choisissez Prometheus.
- Renseignez l'URL de votre instance (ex.
http://prometheus:9090si elle tourne dans le même réseau Docker). - Cliquez sur Save & test pour valider la connexion.
docker-compose.yml sous forme de services supplémentaires.5. Importer un premier dashboard
Plutôt que de tout construire à la main, la communauté Grafana met à disposition des milliers de dashboards prêts à l'emploi. Dans Dashboards → New → Import, il suffit de renseigner l'identifiant d'un dashboard public (visible sur grafana.com/dashboards) pour l'importer et le connecter à votre source de données.
Un dashboard bien construit vaut mieux que dix alertes ignorées : commencez simple, avec 4 ou 5 métriques réellement utiles, puis enrichissez progressivement.
6. Sauvegarder votre configuration
Le volume nommé grafana-data contient l'ensemble de vos dashboards, sources de données et utilisateurs. Pensez à l'inclure dans votre politique de sauvegarde habituelle, par exemple avec un export régulier du volume Docker vers un stockage externe.
Conclusion
En quelques minutes et un unique fichier docker-compose.yml, vous disposez d'une base de supervision solide et reproductible. C'est typiquement le genre de socle que je mets en place lors d'un audit d'infrastructure, avant de le connecter aux métriques spécifiques d'un client. Si vous souhaitez être accompagné sur la mise en place ou la sécurisation de votre supervision, n'hésitez pas à me contacter.