Vous pouvez supprimer les données que vous ne souhaitez pas conserver en modifiant la section remote_write
du fichier de configuration YAML.
Conseil
Vous pouvez également supprimer des données d'écriture à distance à l'aide de NerdGraph. Pour plus d'informations, voir Supprimer des données à l'aide de NerdGraph.
Supprimez des points de données métriques entiers de l'intégration d'écriture à distance
Si une cible envoie une métrique bruyante que vous ne souhaitez pas envoyer à New Relic, vous pouvez spécifier que New Relic doit supprimer ces données.
Exemple
Disons que vous ne souhaitez pas recevoir de données pour la métrique node_memory_active_bytes
d’une instance exécutée à localhost:9100
. En utilisant l'entrée write_relabel_config
ci-dessous, vous pouvez cibler le nom métrique en utilisant l'étiquette __name__
en combinaison avec le nom de instance .
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=macbook-server-cluster bearer_token: <redacted> write_relabel_configs: - source_labels: ['__name__', 'instance'] regex: 'node_memory_active_bytes;localhost:9100' action: 'drop'
Cela indique à Prometheus que vous souhaitez effectuer une action sur les métriques avec ces étiquettes. Pour limiter les métriques affectées par ces étiquettes, vous devez inclure une valeur pour l'expression régulière. Par défaut, cette valeur est définie sur .*
et inclura toutes les métriques. Dans ce cas, il supprimera tous les points de données métriques provenant de Prometheus via l'écriture à distance.
Supprimez des étiquettes ou des attributs spécifiques à partir de points de données
Si une cible envoie des étiquettes ou des attributs spécifiques que vous ne souhaitez pas recevoir, vous pouvez les supprimer des métriques que vous recevez.
Exemple
Disons que l'une de vos cibles vous envoie un tas d'attributs supplémentaires que vous ne souhaitez pas recevoir. Il peut s'agir d'éléments tels que des attributs de forte cardinalité tels que l'identifiant unique de la machine, les identifiants JVM ou similaires. Dans ce cas, vous devez modifier les sections remote_write
et scrape_configs
du fichier YAML.
Le résultat ressemblera à ceci :
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=macbook-server-cluster bearer_token: <redacted> write_relabel_configs: - regex: 'extraLabelToRemove.*' action: 'labeldrop'...scrape_configs: # The job name is added as a label `job=<job_name>` to any time series scraped from this config. - job_name: 'node' # Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:9100'] labels: group: 'production' keepLabelName1: 'please-keep-me' extraLabelToRemove: 'please-remove-me' extraLabelToRemove1: 'please-remove-me' extraLabelToRemove2: 'please-remove-me' extraLabelToRemove4: 'please-remove-me' extraLabelToRemove3: 'please-remove-me' extraLabelToRemove5: 'please-remove-me'
Prometheus ou NerdGraph ?
Il y a des avantages à la fois à supprimer des données en utilisant la méthode décrite sur cette page et à utiliser NerdGraph. Cette section est destinée à vous aider à déterminer quelle méthode convient le mieux à vos besoins et préférences spécifiques.
Considérations sur la méthode du fichier de configuration Prometheus
Avec cette méthode, vos données supprimées ne quittent jamais l’instance Prometheus associée. Il s’agit d’une fonctionnalité précieuse si les octets transférés constituent un facteur de coût du côté de l’hébergement de l’application.
Cependant, cette méthode peut être moins attrayante que l'option NerdGraph en raison des considérations suivantes :
- Maintenu via des fichiers de configuration yaml qui doivent être chargés sur chaque instance Prometheus (ou via un mécanisme de stockage partagé)
- Nécessite un accès au serveur Prometheus, ce qui signifie que :
- Le serveur doit être redémarré
- Le serveur doit être accessible sur le port avec le chemin
/-/reload
(en supposant que la gestion du cycle de vie soit activée sur le serveur comme décrit ici dans les documents de configuration de Prometheus).
- Le serveur doit être accessible sur le port avec le chemin
Considérations sur la méthode NerdGraph
NerdGraph est une excellente option si vous souhaitez gérer toutes vos données en un seul endroit. Il peut également être mis à jour facilement via l'API et ne nécessite aucun redémarrage ni interaction avec Prometheus. Cependant, cette méthode applique des règles à tous les points de données entrants. Cela signifie que vous devez définir vos règles avec soin en utilisant le filtrage WHERE
.
Pour plus d'informations, voir Supprimer des données à l'aide de NerdGraph.