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
Recording rules Prometheus : accélérer ses requêtes et ses tableaux de bord
Comprendre et maîtriser les recording rules de Prometheus : évaluation, convention de nommage, pi...
Écrire de bonnes règles d'alerte Prometheus (et les tester)
Concevoir des alertes utiles : alerter sur les symptômes, choisir for et les seuils, labels de sé...
Mesurer des SLI avec Prometheus
Implémenter des SLI de disponibilité et de latence avec Prometheus : métriques nécessaires, requê...
Bonnes pratiques Prometheus : métriques, cardinalité, règles et exploitation
Bonnes pratiques Prometheus : nommage des métriques, labels et cardinalité, intervalles de scrape...
Transformer avec VRL et tester ses pipelines Vector
Le langage VRL (Vector Remap Language) : analyse de logs (JSON, regex, syslog), gestion des erreu...
Mimir : ruler, Alertmanager et mimirtool
Évaluer des règles d'enregistrement et d'alerte dans Mimir, configurer l'Alertmanager multi-tenan...
Alerter sur les logs avec le Ruler de Loki
Mettre en place des alertes et des recording rules LogQL avec le Ruler Loki : configuration, fich...
Thanos Ruler : règles et alertes sur la vue globale
Évaluer des règles d'enregistrement et d'alerte sur l'ensemble des clusters avec Thanos Ruler : c...
Générer ses SLO Prometheus avec Sloth
Décrire un SLO en quelques lignes avec Sloth et générer automatiquement règles d'enregistrement m...