La collecte de données cohérentes à partir de divers systèmes peut être un défi.
Sans une structure standardisée, l’analyse et la supervision des métriques deviennent ardues, entravant la prise de décision.
Cet article explore comment Prometheus résout ces problèmes grâce à une structure de données uniformisée.
Devenez expert dans la supervision d'infrastructures avec Prometheus.
Dans cette section, nous explorons la structure des données que Prometheus recueille auprès des exporters. Les données retournées suivent un format standardisé, permettant d’obtenir des informations cohérentes indépendamment de l’exporter utilisé. Cette uniformité facilite l’analyse et la supervision des métriques collectées, car la structure des données et la manière de les interroger restent cohérentes. Il est important de noter que, puisque la communication s’effectue via HTTP, les informations exposées par les exporters peuvent être consultées directement depuis un navigateur web, en utilisant simplement l’adresse et le port appropriés.
Structure des données Prometheus et exporters
Par exemple, si l’exporter Node est configuré sur le port par défaut 9100, vous pouvez y accéder en ouvrant un navigateur et en entrant : http://localhost:9100
Cette URL expose les métriques disponibles via une page metrics. En y accédant, vous trouverez un extrait comme celui-ci :
# HELP apt_autoremove_pending Number of pending 'apt autoremove' packages.
# TYPE apt_autoremove_pending gauge
apt_autoremove_pending 0
# HELP apt_upgrades_pending Number of pending 'apt' package upgrades by origin.
# TYPE apt_upgrades_pending gauge
apt_upgrades_pending{arch="all", origin="Debian: 11.11/oldstable"} 25
apt_upgrades_pending{arch="amd64", origin="Debian: 11.11/oldstable"} 158
apt_upgrades_pending{arch="amd64", origin="Debian: 11.11/oldstable, Debian-Security: 11/stable-security"} 3
apt_upgrades_pending{arch="amd64", origin="DockerCE: bullseye"} 6
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 8
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
Dans cet extrait, chaque métrique est accompagnée de plusieurs éléments qui rendent les données claires et exploitables :
Composants des métriques Prometheus
Lors de la collecte des données, chaque métrique est structurée selon un format standardisé pour en faciliter la lecture, l’analyse, et le traitement. Ces composants clés rendent les métriques exploitables par Prometheus et permettent aux utilisateurs de comprendre plus aisément la nature des informations collectées. Ci-dessous, nous décrivons les éléments principaux présents dans les données de métriques retournées par les exporters :
- Description (# HELP) :Chaque métrique est précédée d’une description, précisant son objectif ou la nature de l’information collectée.
- Type de métrique (# TYPE) :Chaque métrique a un type associé, tel que gauge, counter, ou summary, pour que Prometheus puisse traiter correctement les données.
- Métrique et valeur :Chaque ligne contient le nom de la métrique suivi de sa valeur. Dans certains cas, cette valeur est unique, tandis que dans d’autres, elle est subdivisée par des « labels ».
- Labels associés :Les labels permettent de segmenter les données et d’ajouter des informations contextuelles, comme l’architecture ou la version de l’OS.
Grâce à cette structure, il est possible de rechercher des données spécifiques en utilisant les identifiants de métriques ou en appliquant des filtres par label. Cela simplifie le processus d’analyse et de diagnostic en offrant un contexte supplémentaire aux données collectées.
Élément | Description |
---|---|
Nom de la métrique | Nom unique de la métrique pour identification, ex : apt_autoremove_pending. |
Type de métrique | Type de la donnée (gauge, counter, histogram, summary). |
Description | Explication de la métrique, affichée avec # HELP, ex : Number of pending ‘apt’ packages. |
Valeur | La donnée brute, ex : apt_autoremove_pending 0. |
Labels | Tags facultatifs associés pour ajouter des contextes, ex : {arch= »amd64″, origin= »Debian »}. |
Diagramme en texte : Processus de collecte des métriques :
Pour une analyse détaillée, vous pouvez également utiliser les fonctionnalités de votre éditeur de texte pour rechercher certains mots-clés, comme bytes ou file, et observer toutes les occurrences et valeurs correspondantes.
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
Comment Prometheus structure-t-il les données des exporters ?
Quel est le rôle des labels dans les métriques Prometheus ?
Comment accéder aux données d'un exporter Prometheus ?
Quels sont les types de métriques dans Prometheus ?
Pourquoi utiliser une structure de données standardisée avec Prometheus ?
Conclusion
En comprenant la structure des données Prometheus, vous pouvez mieux superviser et analyser vos systèmes. Quelle autre technologie pourrait bénéficier d’une telle structuration des données selon vous ?