La collecte de données non personnalisée peut mener à une surcharge d’informations inutiles.
Cela complique l’analyse et réduit l’efficacité de la surveillance des systèmes informatiques.
Utiliser relabel_configs dans Prometheus permet d’ajuster les labels pour une collecte de données plus pertinente et organisée.
Devenez expert dans la supervision d'infrastructures avec Prometheus.
Dans le cadre de la surveillance des systèmes informatiques, Prometheus est l’un des outils les plus utilisés pour collecter et stocker des métriques. Afin de personnaliser la collecte de ces métriques, Prometheus propose une fonctionnalité puissante et flexible : les relabel_configs. Cette fonctionnalité permet de manipuler les labels associés aux cibles de scrape, offrant ainsi un contrôle total sur les données collectées. Dans cet article, nous explorerons l’utilisation de relabel_configs pour ajuster, filtrer et enrichir les informations collectées par Prometheus. Nous aborderons les différentes possibilités offertes par cette fonctionnalité et montrerons, à travers des démonstrations pratiques, comment configurer et utiliser relabel_configs dans le fichier de configuration de Prometheus (prometheus.yml).
Utilisation de relabel_configs Prometheus
Le mécanisme de relabel_configs dans Prometheus permet de manipuler et de modifier les labels des cibles de scrape, qu’il s’agisse de supprimer, de modifier ou d’ajouter des informations. Cela permet une personnalisation fine des données collectées avant qu’elles ne soient envoyées à Prometheus pour la collecte.
Quand relabel_configs est-il appliqué ?
relabel_configs est appliqué après la découverte des cibles (target discovery), mais avant que les cibles ne soient scrutées. Cela permet d’ajuster les labels des cibles en fonction des critères définis dans les règles de relabel_configs.
Opérations clés relabel_configs Prometheus
Avant de détailler les opérations spécifiques que l’on peut réaliser avec relabel_configs, il est important de comprendre comment cette fonctionnalité permet de modifier et d’adapter les labels des cibles de manière dynamique. Cela ouvre la voie à diverses actions, allant de la modification des valeurs de labels existants à l’exclusion de certaines cibles ou à la création de nouveaux labels pour une meilleure organisation des données collectées.
- Exclure des cibles :Vous pouvez exclure certaines cibles de la collecte de données en utilisant des actions comme drop. Par exemple, en excluant des cibles ayant une adresse spécifique.
- Modifier les labels existants :Les labels existants peuvent être modifiés ou renommés, ce qui permet de mieux organiser les données.
- Créer de nouvelles informations :Vous pouvez ajouter de nouveaux labels en fonction des données disponibles dans les cibles, ce qui permet de mieux catégoriser et analyser les données collectées.
Démonstration pratique relabel_configs
Nous allons maintenant illustrer l’utilisation de relabel_configs à travers une configuration simple dans le fichier prometheus.yml.
Définir un job :
Ajoutons un job avec une cible statique.
sudo vi /etc/prometheus/prometheus.yml
Puis :
job_name: node
static_configs:
- targets: ['localhost:9100']
Cette configuration scrute l’instance Prometheus locale à l’adresse localhost:9100.
Ajouter des cibles multiples :
Vous pouvez également définir plusieurs cibles à surveiller dans ce même job.
job_name: node
static_configs:
- targets:
- localhost:9100
- 127.0.0.1:9100
Cette configuration inclut à la fois localhost et 127.0.0.1 comme cibles à surveiller.
Appliquer relabel_configs :
Vous pouvez maintenant utiliser relabel_configs pour manipuler ces cibles avant qu’elles ne soient scrutées. Par exemple, exclure certaines cibles :
relabel_configs:
- source_labels: [__address__]
regex: localhost:9100
action: drop
Ce relabel_configs exclut la cible localhost:9100 de la collecte de données en utilisant l’action drop.
Résultat attendu : Vous verrez que la cible localhost:9100 a été exclue dans l’interface de découverte de services de Prometheus.
Configuration des cibles et service discovery avec l’exclusion de localhost:9100.
L’interface de service discovery montrant les cibles restantes après l’application de relabel_configs.
Exemple transformations labels Prometheus
Voici un autre exemple où les labels sont transformés pour ajouter des informations supplémentaires.
static_configs:
- targets:
-http://prometheus.io
-https://prometheus.io
relabel_configs:
- source_labels: [__address__]
target_label: _param_target
- source_labels: [_param_target]
target_label: instance
- source_labels: [__address__]
target_label: address
replacement: 127.0.0.1:9115
Dans cet exemple :
- La première règle transforme le label __address__ en un label _param_target.
- Ensuite, on transforme _param_target en instance.
- Enfin, le label address est remplacé par une nouvelle adresse 127.0.0.1 :9115.
Cela permet de manipuler facilement les informations associées aux cibles, et peut être utile pour adapter les labels selon des besoins spécifiques.
Ces transformations permettent de reconfigurer dynamiquement les labels associés à chaque cible, ce qui est particulièrement utile pour l’organisation des données dans Prometheus.
Conclusion et insights Prometheus
Les configurations relabel_configs de Prometheus offrent une grande flexibilité pour ajuster et personnaliser les labels associés aux cibles de collecte de données. En comprenant comment les appliquer, vous pouvez facilement exclure des cibles, modifier des labels existants ou créer de nouveaux labels, ce qui permet d’adapter Prometheus à des besoins spécifiques de surveillance.
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 fonctionne relabel_configs dans Prometheus ?
Quand relabel_configs est-il appliqué dans le processus de collecte ?
Comment exclure des cibles de la collecte de données avec relabel_configs ?
Comment modifier les labels existants dans Prometheus ?
Quels sont les exemples de transformations de labels avec relabel_configs ?
Conclusion
En maîtrisant les configurations relabel_configs, vous pouvez adapter Prometheus à vos besoins spécifiques de surveillance. Comment pourriez-vous encore améliorer la personnalisation de vos données collectées avec Prometheus ?