Guide de déploiement

Monitoring de VPS avec Grafana et Prometheus

Déployer sur un VPS Cloud →

Sécurité & Monitoring9 min de lecture

Monitoring de VPS avec Grafana et Prometheus

Quand vous voulez des metriques historiques, des dashboards sur mesure et de l'alerting fin, le duo Prometheus + Grafana est la reference open source. Prometheus collecte et stocke les series temporelles, Grafana les visualise. Voici comment deployer cette stack de monitoring sur votre propre VPS.

Pourquoi self-heberger Prometheus et Grafana sur un VPS

Contrairement a un outil tout-en-un, la stack Prometheus + Grafana separe clairement la collecte (Prometheus scrape les metriques exposees par des exporters), le stockage (base de series temporelles) et la visualisation (Grafana). Cette modularite est precisement ce qui en fait un standard : vous surveillez le VPS lui-meme avec Node Exporter, vos conteneurs avec cAdvisor, votre base PostgreSQL ou MySQL avec l'exporter dedie, et vous instrumentez vos propres applications au format Prometheus. Tout cela sur un VPS que vous controlez, ce qui vous evite d'envoyer des metriques d'infrastructure sensibles vers un SaaS facture a l'ingestion. Vous conservez l'historique aussi longtemps que votre disque le permet, vous construisez des dashboards specifiques a votre stack, et vous definissez vos propres regles d'alerte via Alertmanager. C'est l'approche a privilegier quand vous depassez le simple 'est-ce que le site repond ?' pour entrer dans l'analyse fine des tendances de charge.

Ce que cette stack apporte sur votre VPS

  • Metriques systeme detaillees (CPU, RAM, I/O disque, reseau) via Node Exporter, historisees sur le long terme.
  • Surveillance des conteneurs Docker avec cAdvisor : consommation par conteneur en temps reel.
  • Dashboards Grafana sur mesure, importables depuis une bibliotheque communautaire de milliers de modeles.
  • Alerting puissant via Alertmanager : seuils, regroupement, silences et routage multi-canaux.
  • Langage de requete PromQL pour creer des indicateurs derives et des taux d'evolution.
  • Instrumentation de vos propres applications au format Prometheus, sans cout d'ingestion externe.

Prerequis pour l'heberger

Cette stack est plus gourmande qu'un moniteur simple car Prometheus garde les series temporelles en memoire avant de les ecrire sur disque. Comptez un VPS 2 vCPU et 2 a 4 Go de RAM pour superviser un a plusieurs serveurs, et davantage si vous multipliez les exporters et la frequence de scrape. Le stockage est le point cle : prevoyez 20 a 40 Go de disque selon la duree de retention (--storage.tsdb.retention.time). Il vous faut Docker et Docker Compose, un nom de domaine pour exposer Grafana en HTTPS, et un reverse proxy. Gardez Prometheus non expose publiquement : seul Grafana doit etre accessible de l'exterieur.

Deployer la stack Prometheus + Grafana avec Docker Compose

01

Ecrire le fichier docker-compose.yml

Definissez trois services : prometheus, grafana et node-exporter. Montez un prometheus.yml de configuration et des volumes nommes pour persister les donnees (prometheus_data, grafana_data). Lancez ensuite docker compose up -d.

02

Configurer les cibles dans prometheus.yml

Dans la section scrape_configs, ajoutez un job node pointant sur node-exporter:9100 pour les metriques systeme, et un job cadvisor si vous surveillez Docker. Rechargez avec docker compose restart prometheus.

03

Connecter Grafana a Prometheus

Ouvrez Grafana, ajoutez une source de donnees de type Prometheus avec l'URL http://prometheus:9090 (nom du service Docker). Testez la connexion : elle doit retourner 'Data source is working'.

04

Importer des dashboards prets a l'emploi

Importez le dashboard Node Exporter Full (ID 1860) et un dashboard cAdvisor via leur identifiant. Vous obtenez instantanement des graphiques CPU, memoire, disque et reseau sans rien construire a la main.

05

Securiser Grafana derriere un reverse proxy SSL

Exposez uniquement Grafana via Nginx ou Caddy sur grafana.mondomaine.ma avec un certificat Let's Encrypt. Bloquez l'acces externe a Prometheus (port 9090) au niveau du pare-feu : il ne doit etre joignable que par Grafana.

06

Mettre en place l'alerting

Ajoutez Alertmanager au Compose, definissez des regles dans Prometheus (par exemple CPU > 90% pendant 5 minutes) et routez les alertes vers e-mail, Slack ou Telegram. Verifiez le declenchement avec une regle de test.

Surveillez l'espace disque consomme par la base de series temporelles de Prometheus, qui grossit avec le nombre de metriques et la frequence de scrape. Ajustez --storage.tsdb.retention.time (par exemple 30j) et, si vous avez besoin d'un historique long sans saturer le VPS, branchez un stockage distant comme Thanos ou VictoriaMetrics. Sur un VPS, reduire l'intervalle de scrape de 15s a 30s pour les metriques peu critiques divise aussi par deux le volume ecrit sur disque.

La documentation officielle

Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de Grafana. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.

Deployez votre stack d'observabilite

Le VPS Cloud ServOrbit offre le CPU, la RAM et le SSD necessaires pour faire tourner Prometheus, Grafana et leurs exporters sans goulet d'etranglement, avec un template Docker pret a configurer.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.