Surveiller son service avec Grafana & Prometheus
Déployez Prometheus, node_exporter et Grafana pour collecter, stocker et afficher les métriques de votre instance.
Surveiller son service avec Grafana & Prometheus
Prometheus collecte et stocke les métriques (CPU, RAM, trafic), Grafana les affiche dans des tableaux de bord. Le duo est le standard de l’observabilité auto-hébergée.
Cause / Le problème
Sans monitoring, on découvre les pannes quand elles arrivent : un disque plein, une RAM saturée, une latence qui grimpe. Il faut capter les métriques en continu et les visualiser pour anticiper.
Solution
- Lancez Prometheus avec ce
prometheus.yml:global: scrape_interval: 15s scrape_configs: - job_name: "node" static_configs: - targets: ["localhost:9100"] - Démarrez la stack en Docker :
docker run -d -p 9090:9090 -v ./prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus - Ajoutez node_exporter pour les métriques système (CPU, RAM, disque) :
docker run -d -p 9100:9100 --net=host prom/node-exporter - Démarrez Grafana :
Connexion par défaut :docker run -d -p 3000:3000 grafana/grafanaadmin/admin(à changer immédiatement). - Ajoutez Prometheus comme source de données dans Grafana : Connections → Data sources → Add → type Prometheus, URL
http://localhost:9090, puis Save & test. - Importez un dashboard : Dashboards → New → Import → saisissez l’ID 1860 (Node Exporter Full) et sélectionnez votre source Prometheus.
- Configurez une alerte : dans Alerting, créez une règle (ex.
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes < 0.1pour une alerte RAM < 10 %), puis reliez-la à un point de contact (e-mail, webhook).
Ouvrez Grafana et Prometheus derrière un reverse proxy HTTPS (voir l’article dédié), et ne les exposez jamais sans authentification.