La manipulation des métriques en PromQL peut s’avérer complexe en raison des étiquettes variées des séries temporelles.
Sans une méthode efficace pour aligner ces séries, les analyses peuvent être imprécises, menant à des résultats inexacts.
Cet article explore la correspondance vectorielle en PromQL, une solution puissante pour effectuer des analyses précises en utilisant divers opérateurs.
Devenez expert dans la supervision d'infrastructures avec Prometheus.
La correspondance vectorielle dans PromQL permet de manipuler et de comparer des métriques en combinant des vecteurs avec différentes étiquettes. Cette fonctionnalité est cruciale pour effectuer des analyses complexes et des calculs qui nécessitent de relier plusieurs séries temporelles tout en respectant des relations spécifiques entre elles.
Correspondance Vectorielle PromQL
Les correspondances vectorielles définissent comment les métriques sont alignées pour effectuer des opérations arithmétiques. Voici les principaux types de correspondance :
- One-to-One :Correspondance directe entre deux séries ayant exactement les mêmes étiquettes.
- One-to-ManyetMany-to-One :Permet de relier une métrique à plusieurs autres, ou l’inverse, lorsque certaines étiquettes diffèrent.
- Opérateurs spécifiques :on: Limite la correspondance à des étiquettes spécifiques.ignoring: Ignore certaines étiquettes pour permettre la correspondance.group_left / group_right: Étend les correspondances pour inclure des séries manquantes ou asymétriques.
Ces opérateurs rendent possible des calculs précis même lorsque les étiquettes des séries temporelles diffèrent partiellement.
Requêtes PromLens et PromQL
Requête simple : apt_upgrades_pending : Nous exécutons la requête suivante :
apt_upgrades_pending
Cette requête montre les métriques apt_upgrades_pending disponibles, chacune avec des étiquettes telles que arch, instance, et origin. Ces données révèlent les mises à jour en attente pour différentes sources (Debian et Debian-Security).
Filtrage avec des étiquettes : La requête suivante filtre les métriques en fonction de conditions spécifiques :
apt_upgrades_pending{arch="amd64", origin="Debian:11.11/oldstable"}
Calcul complexe avec correspondance vectorielle : Ici, nous combinons les métriques avec un calcul arithmétique :
apt_upgrades_pending{arch="amd64", origin="Debian:11.11/oldstable"} * 100 / sum(apt_upgrades_pending{arch="amd64"})
Explication de la requête :
Filtrage : Nous sélectionnons uniquement les métriques pour arch= »amd64″ et origin= »Debian:11.11/oldstable ».
Multiplication : La valeur de chaque série est multipliée par 100.
Division par la somme : Les valeurs sont ensuite divisées par la somme totale de toutes les valeurs correspondant à arch= »amd64″.
Une valeur unique représentant le pourcentage de mises à jour spécifiques pour l’origine Debian:11.11/oldstable par rapport à la totalité des mises à jour pour l’architecture amd64.
Cela permet de visualiser la proportion relative d’une métrique par rapport à un ensemble.
Concepts Clés de l'Analyse PromQL
Concept | Description | Exemple |
---|---|---|
One-to-One | Correspondance exacte entre deux séries temporelles. | metric_a + metric_b |
One-to-Many | Une série correspond à plusieurs autres en fonction d’étiquettes spécifiques. | metric_a * sum(metric_b) by (job) |
on | Correspondance basée sur des étiquettes spécifiques. | metric_a + metric_b on (job) |
ignoring | Ignore certaines étiquettes pour permettre la correspondance. | metric_a / metric_b ignoring (instance) |
group_left | Étend la correspondance pour inclure des séries supplémentaires du côté gauche. | metric_a + metric_b on (job) group_left (instance) |
group_right | Étend la correspondance pour inclure des séries supplémentaires du côté droit. | metric_a + metric_b on (job) group_right (region) |
Calcul complexe | Combine des opérations arithmétiques avec des correspondances vectorielles. | metric_a{label= »value »} * 100 / sum(metric_b{label= »value »}) |
Conclusion sur PromQL et PromLens
La correspondance vectorielle dans PromQL est un outil puissant qui permet de manipuler les données métriques avec précision. Elle est essentielle pour relier des séries temporelles ayant des étiquettes différentes ou pour effectuer des calculs avancés. Grâce à des opérateurs comme on, ignoring, group_left, et group_right, les utilisateurs peuvent configurer leurs requêtes pour s’adapter à des cas d’utilisation spécifiques. En combinant ces opérateurs avec des calculs arithmétiques, il devient possible de créer des visualisations et des analyses significatives dans PromLens.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Qu'est-ce que la correspondance vectorielle dans PromQL ?
Quels sont les types de correspondance vectorielle en PromQL ?
Comment utiliser les opérateurs spécifiques en PromQL ?
Comment exécuter une requête complexe dans PromQL avec PromLens ?
Quels avantages offre la correspondance vectorielle en PromQL ?
Conclusion
La correspondance vectorielle en PromQL est essentielle pour analyser des séries temporelles complexes. Quels autres outils utilisez-vous pour optimiser vos analyses de données métriques ?