RousselTMLEARNING

TP · Prometheus : de la découverte à l'expertise

TP : Écrire, tester et mesurer des recording rules

Des requêtes coûteuses aux séries enregistrées #

Contexte. Votre tableau de bord recalcule les mêmes agrégats à chaque actualisation. Vous allez les enregistrer dans des séries dédiées, sur les métriques de Prometheus lui-même, sans aucune autre dépendance.

Prérequis : Docker Compose, curl et jq  ·  Durée estimée : 40 min

Créez un dossier de travail pour ce TP.
  1. 1. Démarrer Prometheus

    Pourquoi ? Prometheus se collecte lui-même : vous disposez aussitôt de métriques HTTP réelles.

    Écrivez docker-compose.yml et prometheus.yml. Activez le rechargement à chaud et référencez un fichier rules.yml.
  2. 2. Enregistrer un premier agrégat

    Pourquoi ? Une agrégation par étapes évite de relire les séries brutes à chaque niveau.

    Créez rules.yml avec le débit par job et handler, puis le débit par job réutilisant la règle précédente. Créez aussi un fichier tests.yml vide (touch tests.yml), vérifiez, démarrez et interrogez la nouvelle série après une minute.
  3. 3. Ajouter un ratio d'erreurs robuste et un percentile

    Pourquoi ? Sans précaution, le ratio est vide tant qu'aucune erreur n'existe.

    Ajoutez le débit d'erreurs 5xx, le ratio d'erreurs (qui doit valoir 0 sans erreur) et le percentile 95 de la durée. Rechargez et vérifiez la santé des règles.
  4. 4. Écrire les tests unitaires

    Pourquoi ? Une règle fausse donne un tableau de bord plausible mais faux : seul un test le révèle.

    Dans tests.yml, couvrez deux cas : 10 % d'erreurs (ratio de 0,1) et aucune erreur (ratio de 0). Lancez les tests, puis retirez la partie or ... * 0 du ratio et constatez l'échec du second test avant de la remettre.
  5. 5. Mesurer le gain

    Pourquoi ? Une optimisation se mesure.

    Comparez le nombre d'échantillons lus par la requête d'origine et par la série enregistrée, puis repérez la durée d'évaluation de vos règles avec la métrique prometheus_rule_group_last_duration_seconds. Vous devez observer un seul échantillon pour la série enregistrée, et plusieurs centaines pour la requête d'origine (la valeur dépend de votre instance).

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 40 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

Glossaire de la formation

Observabilité

La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...

Métriques

Mesures numériques collectées à intervalles réguliers (ex: CPU, RAM, temps de réponse) utilisées pour évaluer l'état de santé global d'un système au f...

Alerting

Processus consistant à notifier les équipes (via email, Slack, Teams) lorsqu'un événement spécifique, un dépassement de seuil ou une anomalie est déte...

Architecture

Conception globale et structurelle d'un système informatique, définissant ses différents composants, leurs relations et les principes guidant son évol...

OpenTelemetry

Framework open source fournissant des standards, APIs et SDKs pour collecter et exporter des données d'observabilité (traces, métriques, logs) de mani...

Articles recommandés

Mesurer la performance DevOps : métriques DORA, SPACE et amélioration continue

Mesurer et améliorer la performance de livraison : les métriques DORA (fréquence de déploiement, ...

Prometheus : alerter avec Alertmanager (règles, routage, silences)

Mettre en place l'alerting Prometheus : règles d'alerte, Alertmanager, routage, regroupement, inh...

Tests navigateur et monitoring synthétique avec k6

Tester une application web dans un vrai navigateur avec le module k6 browser, mesurer les Core We...

Prometheus sur Kubernetes et l'interface web de Prometheus

Déployer Prometheus sur Kubernetes avec kube-prometheus-stack (Prometheus Operator, ServiceMonito...

Prometheus : visualiser ses métriques (UI, Grafana et dashboards)

Visualiser les données Prometheus : interface web, graphes PromQL, connexion à Grafana, dashboard...

Les types de métriques dans Prometheus

Découvrez en détail les quatre types de métriques supportés par Prometheus (Counter, Gauge, Histo...

PromQL : introduction au langage de requête de Prometheus

Apprendre PromQL, le langage de requête de Prometheus : sélecteurs, rate, sum by, histogrammes et...

Silences, inhibitions et intervalles de temps dans Alertmanager

Réduire le bruit des alertes : silences ponctuels avec amtool, règles d'inhibition (une alerte cr...

Vector : les transforms en détail (remap et VRL, route, filter, réduction et métriques)

Transformer les événements dans Vector : remap et le langage VRL (analyse, enrichissement, gestio...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !