Architecture
- Node Exporter : collecte les métriques système (CPU, RAM, disque, réseau)
- Prometheus : stocke et requête les métriques (time-series database)
- Grafana : visualise les données avec des dashboards interactifs
Installation avec Docker Compose
Créez docker-compose.yml :
services:
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
node-exporter:
image: prom/node-exporter:latest
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
volumes:
prometheus_data:
grafana_data:
Configuration Prometheus
Créez prometheus.yml :
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['node-exporter:9100']
Démarrer
docker compose up -d
- Prometheus :
http://IP:9090 - Grafana :
http://IP:3000(admin/admin)
Configurer Grafana
- Ajoutez Prometheus comme Data Source (
http://prometheus:9090) - Importez le dashboard Node Exporter Full (ID:
1860) - Vous avez maintenant des graphiques CPU, RAM, Disk, Network
Alerting
Configurez des alertes dans Grafana pour être notifié quand :
- CPU > 80% pendant 5 minutes
- Disque > 90% utilisé
- RAM > 95% utilisée
Conclusion
Prometheus + Grafana est le standard du monitoring. Essentiel pour tout serveur de production.