Exposer des métriques avec Prometheus
Suivez le taux de requêtes, les erreurs et la durée.
Exposer des métriques avec Prometheus est une leçon MLOps Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MLOps Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MLOps Academy comprend 4 leçons au total.
Journaux et métriques
Les journaux racontent l’histoire d’une requête. Les métriques sont des nombres agrégés sur de nombreuses requêtes, ce qui vous permet de voir immédiatement des tendances comme le débit et le nombre d’erreurs. 📈
Découvrez Prometheus
Prometheus est l’outil standard pour collecter ces nombres. Votre service expose des métriques, et Prometheus les lit régulièrement pour vous.
Lire, plutôt qu’envoyer
Prometheus utilise un modèle de lecture : il récupère l’URL des métriques de votre service toutes les quelques secondes. Votre seule tâche consiste à exposer ce point de terminaison.
Le client Python
La bibliothèque prometheus_client permet à votre service Python de définir et de servir des métriques avec presque aucun code répétitif.
from prometheus_client import Counter, Histogram, start_http_serverUn compteur augmente
Un compteur ne fait qu’augmenter. Il est idéal pour les totaux, comme le nombre de prédictions servies par votre modèle depuis son démarrage.
predictions = Counter("predictions_total", "Total predictions served")
predictions.inc()Un histogramme mesure les durées
Un histogramme enregistre une distribution, ce qui convient parfaitement à la durée des requêtes. Il répartit les valeurs en intervalles afin que vous puissiez ensuite consulter la latence p50 et p99.
latency = Histogram("predict_seconds", "Prediction latency in seconds")
with latency.time():
model.predict(x)Les étiquettes ajoutent des dimensions
Les étiquettes répartissent une métrique par catégorie, par exemple selon la version du modèle ou le statut. Vous pouvez alors comparer côte à côte les taux d’erreur de chaque version.
errors = Counter("errors_total", "Errors", ["model"])
errors.labels(model="churn-v3").inc()Exposez le point de terminaison /metrics
Prometheus récupère un chemin généralement nommé /metrics. Le client peut le servir pour vous sur son propre port.
start_http_server(8000)
# metrics now live at http://localhost:8000/metricsÀ quoi ressemble une métrique ?
Sur ce point de terminaison, chaque métrique est du texte brut : un nom, des étiquettes facultatives et une valeur. Prometheus lit ce format à chaque collecte.
predictions_total 1423.0
predict_seconds_bucket{le="0.1"} 1390.0Configurez la collecte
Indiquez à Prometheus où chercher en ajoutant votre service comme cible dans sa configuration. Il récupérera ensuite les métriques à intervalle fixe.
scrape_configs:
- job_name: model-api
static_configs:
- targets: ["model-api:8000"]Choisissez le bon type
Règle générale : utilisez un compteur pour les valeurs qui ne font qu’augmenter, un histogramme pour les durées et une jauge pour les valeurs qui montent et descendent.
Vérification rapide
Vous souhaitez suivre la latence des requêtes afin de pouvoir consulter p99 plus tard. Quel type de métrique Prometheus convient ?
Récapitulatif
Vous avez exposé un point de terminaison /metrics avec prometheus_client, en utilisant des compteurs et des histogrammes ainsi que des étiquettes. Prometheus récupère maintenant les valeurs en temps réel auprès de votre service de modèle. ✅
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Exposer des métriques avec Prometheus » est-elle gratuite ?
Oui — le texte complet de « Exposer des métriques avec Prometheus » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MLOps Academy, passe à CoddyKit PRO. Le cours MLOps Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Exposer des métriques avec Prometheus » ?
Suivez le taux de requêtes, les erreurs et la durée. Tu pratiques MLOps Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer MLOps Academy ?
Aucune expérience préalable n'est requise. MLOps Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Exposer des métriques avec Prometheus » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon MLOps Academy ?
Oui. Chaque leçon MLOps Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Journaux structurés pour les prédictions
- Exposer des métriques avec Prometheus
- Construire un tableau de bord Grafana
- Alerter en cas de pics de latence et d’erreurs