Este documento mostra exemplos de como configurar a coleção atributo com o agente New Relic Ruby. Para obter uma lista de todas as configurações do agente Ruby para atributo, consulte Configuração do agente Ruby: atributo.
Parâmetro de solicitação de captura
A captura do parâmetro de solicitação não está habilitada por padrão. A configuração a seguir ativará a captura de parâmetros para os destinos padrão: transaction_tracer
, transaction_events
e error_collector
. Para limitar os destinos consulte o exemplo Selecionando destinos específicos.
Configuration:
attributes.include: request.parameters.*
Os parâmetros de solicitação são prefixados com a string request.parameters
e os parâmetros aninhados possuem chaves para refletir esse aninhamento. Por exemplo, um usuário com um atributo de localização aninhado abaixo de um perfil teria uma chaverequest.parameters.user.profile.location
.
Da mesma forma, os atributo membros de coleções terão chaves com índices que refletem a adesão. Se um usuário tivesse vários números de telefone, as teclas apareceriam da seguinte forma: request.parameters.phone_numbers.0
, request.parameters.phone_numbers.1
, etc.
Exclua dados confidenciais ao capturar o parâmetro da solicitação
Pode haver situações em que você queira omitir informações confidenciais do parâmetro de solicitação, como senhas ou números de cartão de crédito. A configuração a seguir fará isso:
Configuration:
attributes.include: request.parameters.*attributes.exclude: [request.parameters.password, request.parameters.credit_card_no]
Capturar apenas parâmetro de solicitação específico
Para capturar apenas um parâmetro de solicitação específico, você pode simplesmente passar uma lista para attributes.include
:
Configuration:
attributes.include: [request.parameters.user_id, request.parameters.shard_id]
Capturar argumentos de trabalho do Resque
Por padrão, os argumentos do trabalho Resque não são capturados. Para habilitar esta funcionalidade utilize a configuração abaixo.
attributes.include: job.resque.args.*
Note:
Os argumentos para trabalhos Resque são posicionais e as chaves geradas refletem isso. Por exemplo, um trabalho que recebe dois argumentos terá as chaves job.resque.args.0
e job.resque.args.1
Capturar argumentos de trabalho do Sidekiq
Por padrão, os argumentos do trabalho do Sidekiq não são capturados. Para habilitar esta funcionalidade utilize a configuração abaixo.
attributes.include: job.sidekiq.args.*
Note:
Os argumentos para os trabalhos do Sidekiq são posicionais e as chaves geradas refletem isso. Por exemplo, um trabalho que recebe dois argumentos terá as chaves job.sidekiq.args.0
e job.sidekiq.args.1
Desativando todos os atributos
Neste exemplo, os atributo estão desabilitados, portanto as listas de inclusão e exclusão serão ignoradas e todos os atributo serão filtrados.
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: nenhum
- transaction_events: none
- browser_monitoring: none
Selecionando destinos específicos
Neste exemplo:
- Atributo estão desabilitados para rastreamento da transação. As listas de inclusão e exclusão serão ignoradas e todos os atributos serão filtrados para este destino.
- Atributo também estão desativados para por padrão.
- Os parâmetros de solicitação (prefixados com
request.parameters.
) estão desativados por padrão para todos os destinos.
Como resultado, apenas bar
é enviado em erros de rastreamento e eventos de transação.
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: barra
- transaction_events: bar
- browser_monitoring: none
Selecionando valores e destinos
Neste exemplo, teclas de entrada específicas são selecionadas para determinados destinos de saída e excluídas de outros.
- A chave
food.fruit.banana
será excluída apenas do rastreamento da transação. - As chaves
food
efood.vegetable
serão excluídas de todos os destinos.
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