Une stack de monitoring surveille l'état de vos serveurs, de vos applications et de vos services critiques. Ce guide détaille le déploiement d'une solution moderne avec Prometheus, Grafana et Alertmanager.
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Un serveur Debian 12 (ou équivalent)
- Docker et Docker Compose installés
- Un domaine (optionnel pour Grafana via HTTPS)
Installation des dépendances
# Mise à jour du système
sudo apt update && sudo apt upgrade -y
# Installation des dépendances Docker
sudo apt install -y ca-certificates curl gnupg lsb-release
# Ajout de la clé GPG Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Ajout du dépôt Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Installation de Docker et Docker Compose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Vérification
docker --version
docker compose version
Création de la stack de monitoring
mkdir ~/monitoring && cd ~/monitoring
Créez un fichier docker-compose.yml :
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus:/etc/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- '9090:9090'
alertmanager:
image: prom/alertmanager
volumes:
- ./alertmanager:/etc/alertmanager
command:
- '--config.file=/etc/alertmanager/alertmanager.yml'
ports:
- '9093:9093'
grafana:
image: grafana/grafana
ports:
- '3000:3000'
volumes:
- ./grafana:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
Configuration de Prometheus
Créez un dossier prometheus/ avec un fichier prometheus.yml :
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
Configuration d'Alertmanager
Créez un dossier alertmanager/ avec un fichier alertmanager.yml :
global:
resolve_timeout: 5m
route:
receiver: 'default'
receivers:
- name: 'default'
Lancement de la stack
docker compose up -d
Accès aux interfaces
- Prometheus :
http://<ip_serveur>:9090 - Grafana :
http://<ip_serveur>:3000(admin / admin) - Alertmanager :
http://<ip_serveur>:9093
Exemple de dashboard Grafana
Une fois connecté à Grafana, ajoutez Prometheus comme source de données et importez un dashboard officiel depuis grafana.com/dashboards.
Sauvegarde et restauration
# Exemple de sauvegarde
tar -czf monitoring_backup_$(date +%Y%m%d).tar.gz prometheus/ alertmanager/ grafana/
Mise à jour des images
docker compose pull
docker compose up -d
Comparaison des outils de monitoring
| Fonctionnalité | Prometheus | Zabbix | Nagios | Datadog |
| Type | Open Source | Open Source | Open Source | Propriétaire |
| Interface web | ✅ Oui | ✅ Oui | ✅ Oui | ✅ Oui |
| Alerting intégré | ✅ Oui | ✅ Oui | ✅ Basique | ✅ Oui |
| Scalabilité | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| Complexité initiale | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| Prix | Gratuit | Gratuit | Gratuit | Payant |
Avantages de cette stack
- Open-source : Aucun coût de licence
- Extensible : Intégration facile avec d'autres outils (Node Exporter, Blackbox, etc.)
- Visualisation avancée : Grâce à Grafana
- Alerting complet : Personnalisable avec Alertmanager
- Support communautaire large
Alternatives à considérer
- Netdata : Pour une approche plus légère, découvrez la supervision temps réel avec Netdata
- Zabbix : Pour un environnement plus orienté entreprise
- Nagios : Si vous préférez une solution plus ancienne et éprouvée
- Datadog : Pour une solution clé en main avec support professionnel
Extensions naturelles de cette stack
Cette base peut être enrichie avec plusieurs composants :
- Grafana Agent pour centraliser la collecte de logs et métriques depuis vos serveurs
- Grafana Tempo pour ajouter le tracing distribué et comprendre les flux applicatifs
- Uptime Kuma pour surveiller la disponibilité de vos services web et API
- Stack Loki pour une gestion centralisée complète des logs d'infrastructure
- Configuration avancée Prometheus/Grafana/Alertmanager pour découvrir des stratégies avancées de monitoring
Conclusion
Cette stack Prometheus, Grafana et Alertmanager couvre la majorité des cas d'usage sans complexité inutile. Vous tenez maintenant une base de travail pour surveiller vos services et réagir vite aux anomalies.


