Skip to content

Métriques

Objectifs

  • Estimer son travail
  • Déployer Prometheus et Grafana sur Docker Compose
  • Instrumenter une application Python (FastAPI)

Rendu

  • Rapport individuel sur Cyberlearn
    • Nom du fichier: lab10-metrics-{nom}.pdf
    • Délai: 1 semaine
  • Code sur GitHub Classroom : https://classroom.github.com/a/lOwfxM_8
  • Créez une MR feature/lab10-metrics sur main en m'ajoutant comme reviewer et mettez le lien dans le rapport

Tâches

Estimer son travail

  • Estimez le temps total nécessaire pour réaliser ce laboratoire
    • Découpez le travail en tâches pour faciliter l'estimation
  • A la fin du rapport, comparez le temps estimé avec le temps réellement passé:
    TâcheTemps estiméTemps réelCommentaire
    ...30m45m...
    ............
    Total2h1h30...

Prometheus et Grafana sur Docker Compose

Créer un Docker Compose avec Prometheus et Grafana qui collecte les métriques de notre machine :

Les endpoints devraient être accessibles sur les ports suivants :

Observez les endpoints /metrics de :

(Changez de navigateur ou essayez en ligne de commande avec curl/wget en cas d'erreur )

Rafraîchissez la page des métriques. Expliquez le fonctionnement de Prometheus :

  • Comment Prometheus collecte les métriques ?
  • Où sont stockées les métriques ?
  • Comment sont définies les métriques ?
  • Qui définit la fréquence de collecte des métriques ?
  • Qu'est-ce qui diffère par rapport à un système de logs ?

Instrumenter une application Python

Astuce

Vous pouvez utiliser les profiles pour activer/désactiver les services liés à l'observabilité : https://docs.docker.com/compose/profiles/

Instrumenter Nginx

Cherchez comment collecter les métriques du frontend (Nginx) avec Prometheus. Qu'est-ce qui est nécessaire pour que cela fonctionne ?

En bonus, ajoutez les métriques de Nginx à votre Docker Compose.

Bonus : Prometheus sur Docker

Pour collecter les métriques de Docker avec Prometheus : https://docs.docker.com/config/daemon/prometheus/

Références