DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesSurveiller ses applications avec Prometheus et Grafana01 - Découvrir Prometheus et les métriques

Détails

  • 20 minutes
  • Débutant

Objectifs

  • Lancer Prometheus via Docker
  • Comprendre la structure de prometheus.yml
  • Explorer l'endpoint /metrics et les types de métriques
Module Surveiller ses applications avec Prometheus et Grafana

Exercice 01 : Découvrir Prometheus et les métriques

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Lancer Prometheus avec Docker
  • ✅ Configurer prometheus.yml avec global et scrape_configs
  • ✅ Explorer l'endpoint /metrics et comprendre les 4 types de métriques
  • ✅ Naviguer dans l'interface Prometheus UI
  • ✅ Identifier les targets actives dans Status → Targets

Durée estimée : 20 minutes

Difficulté : ⭐☆☆☆☆ (Débutant)

Prérequis : Docker installé


📖 Contexte

Prometheus est un système de collecte de métriques open-source. Il scrape périodiquement des endpoints HTTP exposant des métriques au format texte, les stocke dans sa base de données temporelle (TSDB), et les rend interrogeables via PromQL.


📋 Énoncé

Déployez Prometheus en local avec Docker, configurez-le pour scraper ses propres métriques, et explorez les différents types de métriques exposés.


🧭 Déroulement de l'exercice

Tâche 1 : Créer la configuration Prometheus

Créez un répertoire tp-prometheus/ avec un fichier prometheus.yml contenant la configuration minimale : un intervalle de scrape global et un job qui cible localhost:9090.

Indice :

`yaml

global:

scrape_interval: 15s

>

scrape_configs:

- job_name: "prometheus"

static_configs:

- targets: ["localhost:9090"]

`

Vérification : Le fichier est valide YAML. cat prometheus.yml l'affiche sans erreur.


Tâche 2 : Lancer Prometheus avec Docker

Lancez Prometheus en montant votre prometheus.yml dans le conteneur sur le port 9090.

Indice :

`bash

docker run -d \

--name prometheus \

-p 9090:9090 \

-v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \

prom/prometheus

`

Vérification : curl -s http://localhost:9090/-/healthy retourne Prometheus Server is Healthy.


Tâche 3 : Explorer l'endpoint /metrics

Ouvrez http://localhost:9090/metrics dans votre navigateur ou via curl. Identifiez un exemple de chaque type : counter, gauge, histogram et summary.

Indice : Les commentaires # TYPE <nom> <type> précèdent chaque métrique. Cherchez prometheus_http_requests_total (counter), go_goroutines (gauge), prometheus_http_request_duration_seconds (histogram).

Vérification : Vous identifiez 4 types distincts dans la sortie de /metrics.


Tâche 4 : Naviguer dans Prometheus UI

Ouvrez http://localhost:9090. Allez dans Status → Targets et vérifiez l'état du job prometheus. Ensuite dans Status → Configuration pour voir la config chargée.

Indice : Le target prometheus (1/1 up) doit être en vert. Si c'est rouge, vérifiez que le conteneur est bien démarré avec docker logs prometheus.

Vérification : Le target http://localhost:9090/metrics est à l'état UP.


Tâche 5 : Exécuter une première requête

Dans l'onglet Graph de Prometheus UI, exécutez up puis prometheus_http_requests_total. Observez les labels retournés.

Indice : up retourne 1 pour chaque target active. Cliquez sur Table pour voir les valeurs ponctuelles, Graph pour la série temporelle.

Vérification : La requête up retourne 1 pour le job prometheus.


🗂️ Mini-Projet

Ajoutez un second job node-exporter qui scrape localhost:9100 après avoir lancé Node Exporter :

bash
docker run -d --name node-exporter -p 9100:9100 prom/node-exporter

Puis mettez à jour prometheus.yml :

yaml
  - job_name: "node"
    static_configs:
      - targets: ["host.docker.internal:9100"]

Rechargez Prometheus : curl -X POST http://localhost:9090/-/reload

Checkpoints :

  • Node Exporter tourne sur le port 9100
  • prometheus.yml contient 2 jobs
  • Status → Targets affiche 2 targets UP
  • La requête node_cpu_seconds_total retourne des données

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement de l'exercice
  • Tâche 1 : Créer la configuration Prometheus
  • Tâche 2 : Lancer Prometheus avec Docker
  • Tâche 3 : Explorer l'endpoint /metrics
  • Tâche 4 : Naviguer dans Prometheus UI
  • Tâche 5 : Exécuter une première requête
  • 🗂️ Mini-Projet