Ce document présente des exemples de configuration de la collecte d'attributs avec l'agent Ruby New Relic . Pour obtenir une liste de tous les Ruby paramètres de configuration de l'agent pour l'attribut, voir Ruby de l'agent configuration: attribut.
Paramètre de demande de capture
La capture des paramètres de demande n'est pas activée par défaut. La configuration suivante activera la capture des paramètres pour les destinations par défaut : transaction_tracer
, transaction_events
et error_collector
. Pour limiter les destinations, voir l' exemple Sélection de destinations spécifiques.
Configuration:
attributes.include: request.parameters.*
Les paramètres de requête sont préfixés par la chaîne request.parameters
et les paramètres imbriqués ont des clés pour refléter cette imbrication. Par exemple, un utilisateur avec un attribut de localisation imbriqué sous un profil aurait une clé derequest.parameters.user.profile.location
.
De même, les attributs qui sont membres de collections auront des clés avec des indices qui reflètent l’appartenance. Si un utilisateur avait plusieurs numéros de téléphone, les clés apparaîtraient comme suit : request.parameters.phone_numbers.0
, request.parameters.phone_numbers.1
, etc.
Exclure les données sensibles lors de la capture des paramètres de la demande
Il peut y avoir des situations dans lesquelles vous souhaitez omettre des informations sensibles des paramètres de demande, telles que les mots de passe ou les numéros de carte de crédit. La configuration suivante permettra d'accomplir cela :
Configuration:
attributes.include: request.parameters.*attributes.exclude: [request.parameters.password, request.parameters.credit_card_no]
Capturer uniquement les paramètres de requête spécifiques
Pour capturer uniquement un paramètre de requête spécifique, vous pouvez simplement passer une liste à attributes.include
:
Configuration:
attributes.include: [request.parameters.user_id, request.parameters.shard_id]
Capturer les arguments de la tâche Resque
Par défaut, les arguments de la tâche Resque ne sont pas capturés. Pour activer cette fonctionnalité, utilisez la configuration ci-dessous.
attributes.include: job.resque.args.*
Note:
Les arguments des tâches Resque sont positionnels et les clés générées reflètent cela. Par exemple, un travail qui prend deux arguments aura les clés job.resque.args.0
et job.resque.args.1
Capturez les arguments de travail de Sidekiq
Par défaut, les arguments de tâche Sidekiq ne sont pas capturés. Pour activer cette fonctionnalité, utilisez la configuration ci-dessous.
attributes.include: job.sidekiq.args.*
Note:
Les arguments des tâches Sidekiq sont positionnels et les clés générées reflètent cela. Par exemple, un travail qui prend deux arguments aura les clés job.sidekiq.args.0
et job.sidekiq.args.1
Désactiver tous les attributs
Dans cet exemple, les attributs sont désactivés, donc les listes d'inclusion et d'exclusion seront ignorées et tous les attributs seront filtrés.
Configuration:
attributes.enabled: falseattributes.include: request.parameters.*
Input keys:
foo, bar, request.parameters.foo, request.parameters.bar
Output for destinations:
- transaction_tracer: none
- error_collector: none
- transaction_events: none
- navigateur: aucun
Sélection de destinations spécifiques
Dans cet exemple :
- les attributs sont désactivés pour le suivi de la transaction. Les listes d'inclusion et d'exclusion seront ignorées et tous les attributs seront filtrés pour cette destination.
- les attributs sont également désactivés pour par défaut.
- Les paramètres de demande (préfixés par
request.parameters.
) sont désactivés par défaut pour toutes les destinations.
Par conséquent, seul bar
est envoyé dans les erreurs de trace et les événements de transaction.
Configuration:
attributes.enabled: truetransaction_tracer.attributes.enabled: falseattributes.exclude: foo
Input keys:
foo, bar, request.parameters.foo, request.parameters.bar
Output for destinations:
- transaction_tracer: none
- error_collector : bar
- transaction_events : bar
- navigateur: aucun
Sélection des valeurs et des destinations
Dans cet exemple, des clés d’entrée spécifiques sont sélectionnées pour certaines destinations de sortie et exclues d’autres.
- La clé
food.fruit.banana
sera exclue uniquement de la trace de transaction. - Les clés
food
etfood.vegetable
seront exclues de toutes les destinations.
Configuration:
browser_monitoring.attributes.enabled: trueattributes.exclude: food*attributes.include: food.fruit.*transaction_tracer.attributes.exclude: food.fruit.banana
Input keys:
food, food.vegetable, food.fruit.apple, food.fruit.banana
Output for destinations:
- transaction_tracer: food.fruit.apple
- error_collector: food.fruit.apple, food.fruit.banana
- transaction_events: food.fruit.apple, food.fruit.banana
- browser_monitoring: food.fruit.apple, food.fruit.banana