Este documento descreve o atributo do agente New Relic Node.js, detalha como ativar ou desativar o atributo e descreve as regras que o agente segue para determinar qual atributo incluir ou excluir para um destino.
Dica
Essas configurações de atributo se aplicam ao agente Node.js versão 2.7.1 ou superior. Se você usa uma versão mais antiga do agente, consulte Atualizar configuração do legado atributo.
Encontre e use o atributo
Atributo New Relic são pares de valores principais contendo informações que determinam as propriedades dos dados do evento e da transação . atributo pode ajudá-lo a obter maiores insights sobre sua aplicação e anotar os dados no New Relic.
Atributo (padrão e customizado) pode ser encontrado em:
Você pode personalizar exatamente qual atributo será enviado para cada um desses destinos.
Dica
A partir da versão 6.10.0 do agente Node.js, quando você ativa distributed tracing e/ou rastreamento infinito, as informações do evento Transaction são aplicadas ao Span atualmente disponível da transação. Por causa disso, você pode querer aplicar as configurações de atributo do evento Transaction ao evento Span ou aplicá-las como configurações de atributo globais.
O código de status de resposta para uma solicitação da web. A chave para este atributo é httpResponseCode.
A configuração padrão para cada destino é:
Rastreamento da transação: Habilitado
Análise de erros: habilitada
Evento APM: Habilitado
Evento do browser: Desativado
Note: O atributo httpResponseCode (valor de string) foi removido a partir da versão 7.0.0 do agente. http.statusCode (valor inteiro) deve ser usado em seu lugar.
A mensagem de status de resposta, se presente para uma solicitação da web. A chave para este atributo é httpResponseMessage.
A configuração padrão para cada destino é:
Rastreamento da transação: Habilitado
Análise de erros: habilitada
Evento APM: Habilitado
Evento do browser: Desativado
Note: O atributo httpResponseMessage (valor de string) foi removido a partir da versão 7.0.0 do agente. http.statusText (valor da string) deve ser usado em seu lugar.
Atributo adicionado a uma chamada addCustomAttribute() para a API do agente Node.js. O nome da chave para esse atributo depende do que você especifica ao chamar o método.
Atributo adicionado a uma chamada noticeError() na API do agente Node.js. O nome da chave para esse atributo depende do que você especifica ao chamar o método.
A configuração padrão para cada destino é:
Rastreamento da transação: Indisponível
Análise de erros: habilitada
Evento APM: Indisponível
Evento do browser: indisponível
O agente Node.js pode capturar cabeçalhos de resposta e solicitação como atributo. Por padrão, o agente Node.js coletará todos os cabeçalhos de solicitação que não forem excluídos.
Cabeçalhos de solicitação HTTP excluídos por padrão:
request.headers.cookie
request.headers.authorization
request.headers.proxy-authorization
request.headers.set-cookie*
request.headers.x-*
Cabeçalho de resposta capturado: response.headers.content-type
Você pode desativar a coleta de todos os cabeçalhos definindo allow_all_headers como false no arquivo newrelic.js .
A configuração padrão para cada destino é:
Rastreamento da transação: Habilitado
Análise de erros: habilitada
Evento APM: Habilitado
Evento do browser: Desativado
Parâmetro de solicitação da transação. O agente Node.js não captura parâmetros por padrão. Todos os parâmetros GET podem ser capturados se a entrada request.parameters.* for adicionada a attributes.include ou parâmetros de solicitação específicos puderem ser adicionados à lista, por exemplo, request.parameters.foo ou request.parameters.bar. Para capturar o parâmetro POST, use a chamada de API do agente addCustomAttribute() Node.js.
Configurar atributo
Você pode personalizar quais tipos de atributos o agente Node.js envia para cada destino. Isso é mais comum por motivos de segurança, quando você tem certos atributos confidenciais que não deseja relatar à New Relic.
Use as seguintes propriedades de configuração juntamente com as regras de atributo para ativar ou desativar o atributo:
Desativado por padrão. Defina como true para que o agente colete apenas todos os cabeçalhos, exceto aqueles filtrados pelas regras exclude .
Habilitado por padrão. Defina como false para desativar a matriz attributes.include .
Habilite ou desabilite totalmente o atributo. Se você definir um destino como false, nenhum atributo será enviado para esse destino, independentemente das configurações de inclusão/exclusão. Se um destino estiver habilitado, todos os atributos do usuário serão enviados para esse destino por padrão.
Especifique chaves de atributo específicas que você deseja que o agente reporte à New Relic. Para todos os destinos, esta é uma lista de strings vazia por padrão. As propriedades .exclude substituem as propriedades .include . Para desativar todos os valores .include , defina attributes.include_enabled como false.
Especifique chaves de atributo específicas que você não deseja que o agente reporte à New Relic. Para todos os destinos, esta é uma lista de strings vazia por padrão. As propriedades .exclude substituem as propriedades .include .
Regras de atributo
O agente Node.js segue estas regras ao determinar qual atributo incluir ou excluir para um destino:
Se você definir a propriedade attributes.enabled principal como false, o agente não reportará nenhum atributo.
Configuração do agente:
attributes.enabled: false
attributes.include: request.parameters.*
error_collector.attributes.enabled: true
Chaves de entrada:
foo
bar
request.parameters.foo
request.parameters.bar
Saída do agente:
Rastreamento da transação: Sem atributo
Análise de erros: sem atributo
Evento APM: Sem atributo
Evento do browser: Sem atributo
Quando você define ativado como false para um destino, o agente ignora suas configurações de inclusão/exclusão e não relata nenhum atributo para esse destino.
Configuração do agente:
transaction_tracer.attributes.enabled: false
attributes.include: one, two*
transaction_tracer.attributes.include: three, four
Chaves de entrada:
one
two
three
four
Saída do agente:
Rastreamento da transação: Sem atributo
Análise de erros: one, two
Evento APM: one, two
Evento do browser: Sem atributo
As propriedades .exclude substituem as propriedades .include .
Configuração do agente:
attributes.enabled: true
attributes.include: foo, myCustomAtt
attributes.exclude: password, myCustomAtt
Chaves de entrada:
foo
myCustomAtt
password
Saída do agente:
Rastreamento da transação: foo
Análise de erros: foo
Evento APM: foo
Evento do browser: foo
Se vários atributos de inclusão ou exclusão afetarem a mesma chave, a configuração mais específica terá prioridade.
Configuração do agente:
attributes.enabled: true
attributes.include: foo, myCustomAtt
attributes.exclude: password, myCustomAtt
browser_monitoring.attributes.enabled: true
Chaves de entrada:
food
food.bread
food.fruit.banana
food.fruit.apple
Saída do agente:
Rastreamento da transação: food.fruit.apple
Análise de erros: food.fruit.banana, food.fruit.apple
Evento APM: food.fruit.banana, food.fruit.apple
Evento do browser: food.fruit.banana, food.fruit.apple
As chaves especificadas nas propriedades .include e .exclude diferenciam maiúsculas de minúsculas.
Configuração do agente:
attributes.enabled: true
attributes.exclude: password, PaSsWoRd
Chaves de entrada:
password
Password
PASSWORD
PaSsWoRd
PassWORD
Saída do agente:
Rastreamento da transação: Password, PASSWORD, PassWORD
Análise de erros: Password, PASSWORD, PassWORD
Evento APM: Password, PASSWORD, PassWORD
Evento do browser: Password, PASSWORD, PassWORD
Você pode usar um asterisco * no final de uma chave como curinga. Isso corresponderá a um conjunto de atributo com o mesmo prefixo.
Configuração do agente:
attributes.enabled: true
attributes.include: custom*
attributes.exclude: request.parameters.*
Chaves de entrada:
custom
custom.key1
custom.key2
request.parameters.
request.parameters.foo
request.parameters.bar
Saída do agente:
Rastreamento da transação: custom, custom.key1, custom.key2
Análise de erros: custom, custom.key1, custom.key2
Evento APM: custom, custom.key1, custom.key2
Evento do browser: custom, custom.key1, custom.key2