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.barOutput 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: fooInput keys:
foo, bar, request.parameters.foo, request.parameters.barOutput 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.bananaserá excluída apenas do rastreamento da transação. - As chaves
foodefood.vegetableserã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.bananaInput keys:
food, food.vegetable, food.fruit.apple, food.fruit.bananaOutput 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