Retour aux outils
MonitoringIntermédiaireOpen sourceAuto-hébergeablev3.12.0

Prometheus

**Le standard industriel** pour la collecte et le stockage de métriques time-series. Indispensable p

MAJ 2026-06-14
Prometheus
Site officiel Code source★ 64 505

Prometheus est un système de monitoring time-series conçu pour la fiabilité et la scalabilité. Utilisé par des milliers d'entreprises.

Description

Prometheus est un système de monitoring time-series conçu pour la fiabilité et la scalabilité. Utilisé par des milliers d'entreprises.

Caractéristiques :

  • ✅ Modèle pull : Prometheus scrape les endpoints HTTP /metrics
  • ✅ Time series database haute performance
  • ✅ PromQL : langage de query puissant
  • ✅ Alertmanager : gestion des alertes
  • ✅ Multi-dimensional : labels sur les métriques
  • ✅ Service discovery : auto-découverte des cibles (K8s, Consul, etc.)
  • ✅ Storage : local (filesystem) ou remote
  • ✅ Federation : Prometheus qui scrape d'autres Prometheus

Public cible : production, microservices, Kubernetes, équipes DevOps.

Inconvénient : complexe à mettre en place, pas de GUI native (utiliser Grafana).

Installation

Option 1 : Docker Compose (avec Grafana et Node Exporter)

# docker-compose.yml
version: '3.8'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: unless-stopped
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus-data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/usr/share/prometheus/console_libraries'
      - '--web.console.templates=/usr/share/prometheus/consoles'
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - grafana-data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=***

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    restart: unless-stopped
    ports:
      - "9100:9100"
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro

volumes:
  prometheus-data:
  grafana-data:

Option 2 : Configuration (prometheus.yml)

# prometheus.yml
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    static_configs:
      - targets: ['node-exporter:9100']

  - job_name: 'docker'
    static_configs:
      - targets: ['cadvisor:8080']

Configuration

  1. Lancer la stack (Docker Compose ci-dessus)
  2. Accéder à Prometheus : http://IP:9090
  3. Tester une query : up (retourne 1 si scrape OK, 0 sinon)
  4. Accéder à Grafana : http://IP:3000 (admin/admin)
  5. Ajouter Prometheus comme data source : http://prometheus:9090
  6. Importer un dashboard : Dashboards > Manage > Import > ID 1860 (Node Exporter Full)

Alternatives

Open Source

  • [[app-netdata]] — Pour visualisation temps réel
  • [[app-glances]] — Plus simple
  • VictoriaMetrics — TSDB compatible Prometheus, plus performant
  • InfluxDB + Telegraf — Alternative TSDB

Comparaison Prometheus vs autres

CritèrePrometheusInfluxDBVictoriaMetrics
ModèlePullPushPull
Query languagePromQLInfluxQL / FluxPromQL
EcosystemÉnormeGrandCompatible Prom
Performance⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Cloud-native✅⚠️✅
Kubernetes✅ Standard⚠️✅

Verdict : Prometheus pour le standard. VictoriaMetrics si vous avez énormément de métriques.

Propriétaires (ce que Prometheus remplace)

  • Datadog ($15+/host/mois)
  • New Relic (cher)
  • Dynatrace (cher)
  • Wavefront (VMware, cher)

Sécurité

  • Auth basique ou OAuth sur Prometheus UI
  • TLS pour les scrape configs
  • Grafana : SSO, RBAC
  • Alertmanager : auth + TLS

Ressources