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
1. Démarrer Prometheus
Pourquoi ? Prometheus se collecte lui-même : vous disposez aussitôt de métriques HTTP réelles.
Écrivezdocker-compose.ymletprometheus.yml. Activez le rechargement à chaud et référencez un fichierrules.yml.2. Enregistrer un premier agrégat
Pourquoi ? Une agrégation par étapes évite de relire les séries brutes à chaque niveau.
Créezrules.ymlavec le débit parjobethandler, puis le débit parjobréutilisant la règle précédente. Créez aussi un fichiertests.ymlvide (touch tests.yml), vérifiez, démarrez et interrogez la nouvelle série après une minute.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'erreurs5xx, 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. Écrire les tests unitaires
Pourquoi ? Une règle fausse donne un tableau de bord plausible mais faux : seul un test le révèle.
Danstests.yml, couvrez deux cas : 10 % d'erreurs (ratio de 0,1) et aucune erreur (ratio de 0). Lancez les tests, puis retirez la partieor ... * 0du ratio et constatez l'échec du second test avant de la remettre.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étriqueprometheus_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
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
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...