• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Configuração do agente .NET

Você poderá configurar nosso agente .NET para se adequar ao seu ambiente depois de criar uma conta New Relic (é grátis, para sempre) e instalar o agente .NET.

Visão geral da configuração

As opções de configuração do agente APM permitem controlar alguns aspectos de como o agente se comporta. Algumas dessas opções de configuração fazem parte do processo básico de instalação (como definir a chave de licença e o nome do aplicativo), mas a maioria são configurações mais avançadas, como definir um nível de log, configurar o acesso ao host proxy, excluir determinados atributos e ativar distributed tracing.

O agente .NET obtém sua configuração do arquivo newrelic.config , que é gerado como parte do processo de instalação. Por padrão, apenas um arquivo newrelic.config global é criado, mas você também pode criar arquivos newrelic.config locais do aplicativo para um controle mais preciso sobre um sistema com vários aplicativos. Outras maneiras de definir opções de configuração incluem: usar variáveis de ambiente ou definir a configuração no lado do servidor a partir da interface. Para obter mais informações sobre as diversas opções de configuração e o que substitui o quê, consulte Precedência das configurações de configuração.

O suporte para .NET framework e .NET Core usa as mesmas opções de configuração e possui o mesmo recurso APM, salvo indicação em contrário.

Se você fizer alterações no arquivo de configuração e quiser validar se ele está no formato correto, poderá verificá-lo no arquivo XSD (por exemplo, em C:\ProgramData\New Relic\.NET Agent\newrelic.xsd para Windows) com qualquer validador XSD.

Importante

For IIS: após alterar o arquivo newrelic.config ou app.config , execute um IISRESET em um prompt de comando administrativo. Os ajustes de nível de log não exigem redefinição.

Métodos de configuração e níveis de precedência

Após a instalação, o arquivo de configuração do agente .NET (newrelic.config) se aplica a todos os aplicativos de monitor, mas você pode configurar o agente de outras maneiras. Aqui está um diagrama que mostra como diferentes opções de configuração têm precedência umas sobre as outras:

Este diagrama explica a ordem de precedência para diferentes maneiras de configurar o agente .NET.

Aqui estão detalhes sobre os métodos de configuração mostrados no diagrama e seus níveis de precedência:

.NET configuration

Details and precedence

web.config ou app.config ou appsettings.json

As definições de configuração definidas nesses arquivos têm precedência mais alta.

Se o agente estiver desabilitado no newrelic.config local ou global:

  • As configurações NewRelic.AgentEnabled em appsettings.json

    will enable the agent

    .

  • As configurações NewRelic.AgentEnabled em um arquivo web.config ou app.config

    will be ignored

    .

Variáveis ambientais

Segunda maior precedência. Para obter mais informações sobre isso, consulte Variáveis de ambiente .NET.

Configuração no lado do servidor

Terceira maior precedência. Um número limitado de configurações no lado do servidor está disponível; as outras configurações virão de outras fontes de configuração.

Local do aplicativo newrelic.config

Quarta maior precedência. Você pode criar arquivos newrelic.config locais de aplicativo para configurar aplicativos individuais em um sistema com vários aplicativos. Esses arquivos de configuração local substituem as configurações no arquivo newrelic.config global.

O agente procura arquivos de configuração locais do aplicativo nos seguintes diretórios, nesta ordem:

  • Um diretório especificado no arquivo web.config ou app.config com a propriedade NewRelic.ConfigFile

  • O diretório raiz do aplicativo da web (com app.config ou web.config)

  • O diretório que contém o arquivo executável do seu aplicativo

    Observe que o arquivo de configuração local do aplicativo deve estar completo e validado no arquivo XSD (por exemplo, em C:\ProgramData\New Relic\.NET Agent\newrelic.xsd para Windows).

Padrão (global) newrelic.config

Fonte padrão e a precedência mais baixa. Configurará todos os aplicativos em um host na ausência de outros arquivos de configuração. O arquivo de configuração global está localizado no diretório inicial do agente New Relic: %PROGRAMDATA%\New Relic\.NET Agent

Variáveis de ambiente obrigatórias

Nosso agente .NET depende de variáveis de ambiente para informar ao .NET Common Language Runtime (CLR) para anexar o New Relic aos seus processos. Alguns procedimentos de instalação do agente .NET (como o instalador MSI) definirão automaticamente essas variáveis para você; alguns procedimentos exigirão que você os configure manualmente.

Cuidado

Recomendação de segurança: você deve considerar qual usuário pode definir variáveis de ambiente do sistema. Você também deve proteger as contas sob as quais seu aplicativo é executado para evitar que variáveis de ambiente do usuário substituam variáveis de ambiente do sistema

Se o seu sistema já usou serviços de monitoramento (não New Relic), você pode ter um "conflito profiler " ao tentar instalar e usar o agente New Relic. Mais detalhes:

Para obter instruções de instalação específicas, consulte a documentação de instalação do agente .NET.

Variáveis de ambiente opcionais

Algumas opções de configuração no agente .NET da New Relic podem ser definidas por meio de variáveis de ambiente como uma alternativa à configuração em um arquivo de configuração. Abaixo está uma lista de variáveis de ambiente reconhecidas pelo agente .NET com valores de exemplo.

NEW_RELIC_LICENSE_KEY=XXXXXXXX
NEW_RELIC_LOG=MyApp.log
NEW_RELIC_APP_NAME=Descriptive Name
MAX_TRANSACTION_SAMPLES_STORED=500
MAX_EVENT_SAMPLES_STORED=500
NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true
NEW_RELIC_SPAN_EVENTS_ENABLED=false
NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=2000
NEW_RELIC_LABELS=foo:bar;zip:zap
NEW_RELIC_PROXY_HOST=hostname
NEW_RELIC_PROXY_URI_PATH=path.to/something.aspx
NEW_RELIC_PROXY_PORT=5000
NEW_RELIC_PROXY_USER=myusername
NEW_RELIC_PROXY_PASS=XXXXXXXX
NEW_RELIC_PROXY_DOMAIN=mydomain.com
NEW_RELIC_PROXY_PASS_OBFUSCATED=XXXXXXXX
NEW_RELIC_CONFIG_OBSCURING_KEY=XXXXXXXX
NEW_RELIC_DISABLE_SAMPLERS=true
NEWRELIC_PROFILER_LOG_DIRECTORY=path\to\a\directory (not configurable via config file)
NEWRELIC_LOG_DIRECTORY=path\to\a\directory (Insert a directory where you want to put the agent and profiler logs. You can't set this directory for both agent and profiler logs in the configuration file.)
NEWRELIC_LOG_LEVEL=off|error|warn|info|debug|finest|all
NEW_RELIC_APPLICATION_LOGGING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=false
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=false
NEW_RELIC_ALLOW_ALL_HEADERS=true
NEW_RELIC_ATTRIBUTES_ENABLED=true
NEW_RELIC_ATTRIBUTES_INCLUDE=request.headers.*,foo.bar
NEW_RELIC_ATTRIBUTES_EXCLUDE=request.headers.cookie,request.headers.authorization
NEW_RELIC_UTILIZATION_DETECT_AWS=true|false
NEW_RELIC_UTILIZATION_DETECT_AZURE=true|false
NEW_RELIC_UTILIZATION_DETECT_GCP=true|false
NEW_RELIC_UTILIZATION_DETECT_PCF=true|false
NEW_RELIC_UTILIZATION_DETECT_DOCKER=true|false
NEW_RELIC_UTILIZATION_DETECT_KUBERNETES=true|false
NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD=true|false
NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true|false
NEW_RELIC_SEND_DATA_ON_EXIT=true|false
NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS=2000
NEW_RELIC_HIGH_SECURITY=true|false

Se você estiver usando o New Relic CodeStream para monitor o desempenho do seu IDE, você também pode associar o repositório aos seus serviços e associar SHAs de compilação ou tag de lançamento a erros.

Configuração Errors Inbox

Definir uma das tags a seguir ajudará você a identificar quais versões do seu software estão produzindo erros.

  • NEW_RELIC_METADATA_SERVICE_VERSION irá criar tag.service.version nos dados do evento contendo a versão do seu código que está implantada, em muitos casos uma versão semântica como 1.2.3, mas nem sempre.
  • NEW_RELIC_METADATA_RELEASE_TAG criará tags.releaseTag nos dados do evento contendo a tag de lançamento (como v0.1.209 ou release-209).
  • NEW_RELIC_METADATA_COMMIT criará tag.commit nos dados do evento contendo o commit sha. O sha inteiro pode ser usado ou apenas os primeiros sete caracteres (por exemplo, 734713b).

Uma próxima versão da Errors Inbox rastreará automaticamente quais versões do seu software estão produzindo erros. Quaisquer dados de versão também serão exibidos no CodeStream.

Opções de configuração, newrelic.config

Use essas opções para instalar e configurar seu agente por meio do arquivo newrelic.config. O agente .NET oferece suporte às seguintes categorias de opções de configuração:

Elemento de configuração

O elemento raiz do documento de configuração é um elemento configuration .

<configuration xmlns="urn:newrelic-config"
agentEnabled="true"
maxStackTraceLines="50">

O elemento configuration suporta o seguinte atributo:

Elemento de serviço

O primeiro filho do elemento configuration é um elemento service . O elemento de serviço configura a conexão do agente com o serviço New Relic.

<service licenseKey="YOUR_LICENSE_KEY"
  sendEnvironmentInfo="true"
  syncStartup="false"
  sendDataOnExit="false"
  sendDataOnExitThreshold="60000"
  autoStart="true"/>

O elemento service suporta o seguinte atributo:

Elemento-chave obscurecendo

O elemento obscuringKey é um filho opcional do elemento service . O agente .NET usa esse valor para desofuscar valores de configuração suportados. Por exemplo, quando uma senha de proxy ofuscada é fornecida, ela será desofuscada usando esta chave.

<service licenseKey="YOUR_LICENSE_KEY">
  <obscuringKey>OBSCURING_KEY</obscuringKey>
</service>

A chave de obscurecimento também pode ser configurada definindo a variável de ambiente NEW_RELIC_CONFIG_OBSCURING_KEY .

Cuidado

Recomendação de segurança: A colocação da chave obscurecida no mesmo arquivo de configuração que um valor ofuscado pode representar um risco de segurança. Considere colocar a chave oculta e a senha do proxy ofuscada em variáveis de ambiente e limitar o acesso às variáveis de ambiente em seu ambiente.

Elemento proxy

O elemento proxy é um filho opcional do elemento service . O elemento proxy é usado quando o agente se comunica com o serviço backend da New Relic por meio de um proxy.

<service licenseKey="YOUR_LICENSE_KEY">
  <proxy
    host="hostname"
    port="PROXY_PORT"
    uriPath="path/to/something.aspx"
    domain="mydomain.com"
    user="PROXY_USERNAME"
    password="PROXY_PASSWORD"
    passwordObfuscated="OBFUSCATED_PROXY_PASSWORD"/>
</service>

O elemento proxy suporta o seguinte atributo:

Elemento log

O elemento log é filho do elemento configuration . O elemento log configura o registro do New Relic. O agente gera seu próprio arquivo de log para manter suas informações de log separadas dos logs do seu aplicativo.

<log enabled="true"
  level="info"
  auditLog="false"
  console="false"
  directory="PATH\TO\LOG\DIRECTORY"
  fileName="FILENAME.log" />

O elemento log suporta o seguinte atributo:

Elemento do aplicativo (obrigatório)

O elemento application é filho do elemento configuration . Este elemento obrigatório define o nome do seu aplicativo e desabilita ou habilita a amostragem.

Elemento de transmissão de dados

O elemento dataTransmission é filho do elemento configuration . Este elemento afeta a forma como os dados são enviados para o New Relic e pode ser usado se você tiver requisitos específicos de transmissão de dados.

<dataTransmission
putForDataSend="false"
compressedContentEncoding="deflate"/>

O elemento dataTransmission suporta o seguinte atributo:

Nome de anfitrião

Se o rótulo do nome do host padrão na interface do usuário do APM não for útil, você poderá decorar esse nome na interface do usuário do New Relic com um nome de exibição. Depois que o processo do aplicativo for reiniciado e o agente .NET reportar novamente, o nome de exibição aparecerá na lista suspensa Servers . Essa configuração de nome de host não afeta a lista de hosts na página Summary do seu aplicativo.

Para definir um nome de exibição, escolha uma das opções a seguir. A variável de ambiente tem precedência sobre o valor do arquivo de configuração. Em seguida, reinicie seu aplicativo para ver suas alterações na interface do New Relic.

Utilização da plataforma em nuvem

O elemento de configuração utilization controla como o agente coleta informações de utilização e as envia ao serviço New Relic para determinar o preço. O agente pode coletar informações de instâncias EC2 da Amazon Web Services (AWS), contêiner Docker , Microsoft Azure, Google Cloud Platform, Pivotal Cloud Foundry e Kubernetes.

<configuration . . . >
<utilization detectAws="true" detectAzure="true" detectGcp="true" detectPcf="true" detectDocker="true" detectKubernetes="true" />
</configuration>

O elemento utilization suporta o seguinte atributo:

Opções de instrumentação

Utilize estas opções para configurar quais elementos da sua aplicação e ambiente serão instrumentados. O New Relic for .NET oferece suporte às seguintes categorias de opções de instrumentação:

Elemento de instrumentação

O elemento instrumentation é filho do elemento configuration . Por padrão, os processos de trabalho asp do instrumento do agente .NET e as funções web e de trabalho do Microsoft Azure. Para instrumentar outros processos, consulte aplicativo customizado instrumentado.

Elemento de regras (instrumentação)

Importante

Este recurso está disponível no agente .NET 10.21.0 e superior.

O elemento rules é filho do elemento instrumentation . O elemento rules suporta qualquer número de elementos filhos ignore, o que instrui o profiler a NÃO utilizar nenhum método definido no assembly especificado. Os métodos definidos em outras montagens ainda serão instrumentados.

<instrumentation>
<rules>
<ignore assemblyName="NameOfAssemblyToIgnore" />
</rules>
</instrumentation>

A regra ignorar permite definir opcionalmente um nome de classe. No exemplo a seguir, apenas os métodos definidos em MyNamespace.MyClass na montagem MyAssembly serão ignorados. Outros métodos em outras classes, tanto dentro desse assembly quanto em outros assemblies, não serão ignorados pelo profiler.

<instrumentation>
<rules>
<ignore assemblyName="MyAssembly" className="MyNamespace.MyClass" />
</rules>
</instrumentation>

Mais de uma regra de ignorar pode ser especificada. O exemplo a seguir desabilita a instrumentação Confluent Kafka e StackExchange Redis .

<instrumentation>
<rules>
<ignore assemblyName="Confluent.Kafka" />
<ignore assemblyName="StackExchange.Redis" />
</rules>
</instrumentation>

Observe que a instrumentação personalizada não pode ser ignorada pelo elemento rules .

Elemento aplicativo (instrumentação)

O elemento applications é filho do elemento instrumentation . O elemento applications oferece suporte a elementos filhos application que especificam quais aplicativos não-web devem ser usados. O elemento application contém um atributo name .

Importante

Isso não é o mesmo que o elemento application (configuração) , que é filho do elemento configuration .

<instrumentation>
  <applications>
    <application name="MyService1.exe" />
    <application name="MyService2.exe" />
    <application name="MyService3.exe" />
  </applications>
</instrumentation>

Elemento atributo

Um atributo é um par de valores principais que determina as propriedades de um evento ou transação. Cada atributo é enviado para o rastreamento APM da transação, rastreamento de erro APM, evento Transaction, evento TransactionError ou evento PageView. O elemento attributes principal ativa ou desativa a coleta de atributos para o agente .NET e define atributos específicos a serem coletados ou excluídos. Você também pode definir configurações de atributo com base em seu destino: coleta de erros, rastreamento da transação, instrumentação do browser e evento de transação.

Neste exemplo, o agente exclui todos os atributos cuja chave começa com myApiKey (myApiKey.bar, myApiKey.value), mas coleta o atributo personalizado myApiKey.foo.

<attributes enabled="true">
  <exclude>myApiKey.*</exclude>
  <include>myApiKey.foo</include>
</attributes>

Você pode visualizar o atributo .NET APM na página de atributo do agente .NET . Você também pode definir um atributo personalizado com a chamada da API do agente AddCustomAttribute.

Opções de recurso

Use estas opções para ativar, desativar e configurar o recurso New Relic. New Relic for .NET permite configurar o seguinte recurso:

Pools de aplicativos

Importante

Isto só é aplicável ao arquivo de configuração global de um sistema.

Importante

Essa configuração só se aplica quando o modelo de hospedagem do IIS está definido como em processo.

O elemento applicationPools é filho do elemento configuration . O elemento applicationPools especifica para o profiler exatamente quais pools de aplicativos serão usados como instrumento e usa o mesmo nome do pool de aplicativos do IIS. Esse elemento de configuração é útil quando você precisa instrumentar apenas um pequeno subconjunto de seus pools de aplicativos. Por exemplo, um determinado servidor pode ter várias centenas de pools de aplicativos, mas apenas alguns desses pools precisam ser instrumentados pelo agente .NET.

Aqui está um exemplo de desabilitação da instrumentação para pools de aplicativos específicos:

<applicationPools>
  <applicationPool name="Foo" instrument="false"/>
  <applicationPool name="Bar" instrument="false"/>
</applicationPools>

Aqui está um exemplo de desabilitação da instrumentação para todos os pools de aplicativos atualmente em execução no servidor e ativação da instrumentação para pools de aplicativos específicos:

<applicationPools>
  <defaultBehavior instrument="false"/>
  <applicationPool name="Foo" instrument="true"/>
  <applicationPool name="Bar" instrument="true"/>
</applicationPools>

O elemento applicationPools oferece suporte aos seguintes elementos:

Coleta de erros

O elemento errorCollector é filho do elemento configuration . errorCollector configura a coleta de erros, que captura informações sobre exceções não detectadas e as envia para o New Relic.

<errorCollector enabled="true" captureEvents="true" maxEventSamplesStored="100">
  <ignoreClasses>
    <errorClass>System.IO.FileNotFoundException</errorClass>
    <errorClass>System.Threading.ThreadAbortException</errorClass>
  </ignoreClasses>
  <ignoreMessages>
    <errorClass name="System.Exception">
       <message>Ignore message</message>
       <message>Ignore too</message>
    </errorClass>
  </ignoreMessages>
  <ignoreStatusCodes>
    <code>401</code>
    <code>404</code>
  </ignoreStatusCodes>
  <expectedClasses>
    <errorClass>System.ArgumentNullException</errorClass>
    <errorClass>System.ArgumentOutOfRangeException</errorClass>
  </expectedClasses>
  <expectedMessages>
    <errorClass name="System.Exception">
       <message>Expected message</message>
       <message>Expected too</message>
    </errorClass>
  </expectedMessages>
  <expectedStatusCodes>403,500-505</expectedStatusCodes>
  <attributes enabled="true">
    <exclude>myApiKey.*</exclude>
    <include>myApiKey.foo</include>
  </attributes>
</errorCollector>

Dica

Para obter uma visão geral da configuração de erros no APM, consulte Gerenciar erros no APM.

Importante

expectedClasses, expectedMessages e expectedStatusCodes configurações de configuração exigem agente .NET versão 8.31.0.0 ou superior.

O elemento errorCollector oferece suporte aos seguintes elementos e atributos:

Modo de alta segurança

O elemento highSecurity é filho do elemento configuration . Para ativar o modo de alta segurança, configure esta propriedade como true e ative a propriedade de alta segurança na interface do usuário do New Relic. Ativar a alta segurança ativa o SSL; parâmetro de solicitação, parâmetro personalizado e cabeçalhos de solicitação HTTP não são coletados; remover mensagens de exceção está habilitado; e a consulta não pode ser enviada para a New Relic em sua forma bruta.

Remover mensagens de exceção

O elemento stripExceptionMessages é filho do elemento configuration . Para ativar mensagens de exceção de remoção, configure esta propriedade como true. Por padrão, isso é definido como falso, o que significa que o agente envia mensagens de todas as exceções para o coletor New Relic. Se você ativar o modo de alta segurança, isso será automaticamente alterado para verdadeiro e o agente removerá as mensagens das exceções.

Evento de transação

O elemento transactionEvents é filho do elemento configuration . Use transactionEvents para configurar o evento de transação.

<transactionEvents enabled="true" maximumSamplesStored="10000">
  <attributes enabled="true">
    <exclude>myApiKey.*</exclude>
    <include>myApiKey.foo</include>
  </attributes>
</transactionEvents>

O elemento transactionEvents suporta o seguinte atributo:

Evento personalizado

O elemento customEvents é filho do elemento configuration . Use customEvents para configurar evento personalizado.

<customEvents enabled="true" maximumSamplesStored="10000"/>

O elemento customEvents suporta o seguinte atributo:

Parâmetro personalizado

O elemento customParameters é filho do elemento configuration . Use customParameters para configurar parâmetros personalizados.

<customParameters enabled="true" />

O elemento customParameters suporta o seguinte atributo:

Etiquetas (etiqueta)

O elemento labels é filho do elemento configuration .

Isso define nomes e valores tag . A lista é uma lista delimitada por ponto e vírgula de pares de nomes e valores separados por dois pontos. Você também pode usar com a variável de ambiente NEW_RELIC_LABELS . Exemplo:

<labels>foo:bar;zip:zap</labels>

Instrumentação do browser

O elemento browserMonitoring é filho do elemento configuration . browserMonitoring configura em seu aplicativo .NET. O browser fornece insights sobre a experiência de desempenho do usuário final. Isso é feito medindo o tempo que o browser do seu usuário leva para baixar e renderizar suas páginas da web, injetando uma pequena quantidade de código JavaScript no cabeçalho e rodapé de cada página.

// If you use both the Exclude and Attribute elements
// the Exclude element must be listed first.
<browserMonitoring autoInstrument="true">
  <requestPathsExcluded>
    <path regex="url-regex-1"/>
    <path regex="url-regex-2"/>
    ...
    <path regex="url-regex-n"/>
  </requestPathsExcluded>
  <attributes enabled="true">
    <exclude>myApiKey.*</exclude>
    <include>myApiKey.foo</include>
  </attributes>
</browserMonitoring>

O elemento browserMonitoring suporta o seguinte atributo:

Consulta lenta

O elemento slowSql é filho do elemento configuration . slowSql configura a captura de informações sobre execuções de consulta lenta e captura e ofusca os planos explicativos para essas consultas.

<slowSql enabled="true"/>

O elemento slowSql oferece suporte ao seguinte atributo:

Rastreamento da transação

O elemento transactionTracer é filho do elemento configuration . transactionTracer configura o rastreamento da transação. Incluída no trace está a sequência exata de chamada da transação, incluindo quaisquer declarações de consulta emitidas.

<transactionTracer enabled="true"
    transactionThreshold="apdex_f"
    recordSql="obfuscated"
    explainEnabled="true"
    explainThreshold="500"
    maxSegments="3000"
    maxExplainPlans="20">
  <attributes enabled="true">
    <exclude>myApiKey.*</exclude>
    <include>myApiKey.foo</include>
  </attributes>
 </transactionTracer>

O elemento transactionTracer suporta o seguinte atributo:

Tracerde armazenamento de dados

O elemento datastoreTracer é filho do elemento configuration .

<datastoreTracer>
<instanceReporting enabled="true" />
<databaseNameReporting enabled="true" />
<queryParameters enabled="false" />
</datastoreTracer>

O elemento datastoreTracer oferece suporte aos seguintes subelementos:

Distributed tracing

O elemento distributedTracing é filho do elemento configuration .

<distributedTracing enabled="false"
excludeNewrelicHeader="false"/>

Distributed tracing permite ver o caminho que uma solicitação percorre ao percorrer sistemas distribuídos. Requer agente .NET versão 8.6.45.0 ou superior e está ativado por padrão em agentes .NET 9.0.0.0 e superior.

Importante

Habilitar distributed tracing desabilita o rastreamento multiaplicativo e tem outros efeitos no recurso APM. Antes de ativar, leia o guia de planejamento.

Para obter mais informações sobre como configurar distributed tracing, consulte Habilitar distributed tracing para seu aplicativo .NET.

O elemento distributedTracing suporta o seguinte atributo:

Relatórios distributed tracing abrangem evento. O relatório de eventos de intervalo está ativado por padrão, mas distributed tracing deve estar ativado para que os intervalos sejam relatados. Para desativar o evento span, escolha uma das seguintes opções:

Rastreamento infinito

O Infinite Tracing estende o serviço distributed tracing empregando um observador de trace externo ao agente. Ele observa 100% do rastreamento do seu aplicativo em vários serviços e fornece dados acionáveis para que você possa resolver problemas com mais rapidez.

Para ativar o rastreamento infinito, certifique-se de ter o agente .NET versão 8.30 ou superior e ative distributed tracing. Em seguida, adicione as seguintes configurações adicionais:

<configuration . . . >
  <distributedTracing enabled="true" />
  <infiniteTracing>
    <trace_observer host="YOUR_TRACE_OBSERVER_HOST" />
  </infiniteTracing>
</configuration>

Importante

Os intervalos de rastreamento infinitos podem ser limitados pela configuração transactionTracer.maxSegments .

O elemento infiniteTracing oferece suporte aos seguintes elementos:

Rastreamento multiaplicativo

O elemento crossApplicationTracer é filho do elemento configuration . crossApplicationTracer vincula o rastreamento da transação no aplicativo. Quando vinculados em uma arquitetura orientada a serviços, todos os aplicativos instrumentados que se comunicam entre si via HTTP irão agora "vincular" o rastreamento da transação ao aplicativo que eles chamam e ao aplicativo pelo qual são chamados. O rastreamento multiaplicativo facilita o entendimento da relação de desempenho entre serviços e aplicativos.

Importante

O rastreamento multiaplicativo foi descontinuado a partir da v9.0.0 do agente e desabilitado por padrão. Ele será removido em uma versão futura do agente. Para usar CAT com v9+ do agente, você deve configurar crossApplicationTracer.enabled = true e distributedTracing.enabled = false. A ativação distributed tracing desativará o rastreamento multiaplicativo.

<crossApplicationTracer enabled="true"/>

O elemento crossApplicationTracer oferece suporte ao seguinte atributo:

Evento de extensão

O elemento spanEvents é filho do elemento configuration . Use spanEvents para configurar o evento span.

<spanEvents enabled="true">
  <attributes enabled="true">
    <exclude>myApiKey.*</exclude>
    <include>myApiKey.foo</include>
  </attributes>
</spanEvents>

O elemento spanEvents suporta o seguinte atributo:

Capturar cabeçalhos de solicitação HTTP

O elemento allowAllHeaders é filho do elemento configuration . Defina isso como true para permitir que o agente .NET capture todos os cabeçalhos de solicitação HTTP e aplique-os ao evento Span e Transaction como atributo request.headers.{http-header-name} . Defina como false para permitir que apenas o agente .NET colete os seguintes cabeçalhos de solicitação HTTP:

request.headers.referer
request.headers.accept
request.headers.content-length
request.headers.host
request.headers.user-agent

Importante

A configuração allowAllHeaders está disponível apenas no agente .NET versão 8.40.0+. Ao usar allowAllHeaders para capturar atributo, o atributo do cabeçalho da solicitação capturada ainda está sendo controlado pelas configurações de atributo no nível raiz e no nível de destino. Sem definir request.header.* na lista include no elemento attributes (veja a seguir), o agente .NET ainda filtra todos os atributos do cabeçalho. O padrão newrelic.config é definido para incluir o request.header.*.

<allowAllHeaders enabled="true" />
<attributes enabled="true">
<include>request.headers.*</include>
...
</attributes>

O padrão newrelic.config também é definido para excluir explicitamente os seguintes cabeçalhos de solicitação HTTP para evitar que o agente .NET colete dados indesejados.

<attributes enabled="true">
<exclude>request.headers.cookie</exclude>
<exclude>request.headers.authorization</exclude>
<exclude>request.headers.proxy-authorization</exclude>
<exclude>request.headers.x-*</exclude>
</attributes>

Registro de aplicativo

Importante

Essas opções de configuração estão disponíveis somente com o agente .NET versões 9.7.1 e superiores. As opções relacionadas aos dados de contexto (atributo personalizado) estão disponíveis apenas nas versões 10.4.0 e superiores do agente .NET.

O elemento applicationLogging é filho do elemento configuration . Use applicationLogging para configurar a instrumentação da atividade de criação de log do seu aplicativo.

Existem três sub-recursos principais:

  1. Métrica: Colete métricas sobre o número total de linhas de registro escritas por ciclo de colheita (Logging/lines), bem como o número de linhas de registro escritas em níveis de registro específicos (por exemplo, Logging/lines/ERROR).

  2. Encaminhamento de logs: Quando habilitado, o agente irá capturar dados de log e enviá-los para New Relic.

    • Dados de contexto (via AddCustomAttribute): quando ativado, o agente irá capturar e encaminhar qualquer atributo de log personalizado. Os elementos include e exclude são listas separadas por vírgula de nomes de atributos a serem incluídos ou excluídos, seguindo as mesmas regras de outras configurações de atributos de agentes. Ambos estão vazios por padrão, o que resulta na captura e encaminhamento de todos os dados de contexto de log.
    • Filtragem de nível de log: Quando configurado com um ou mais níveis de log em uma lista separada por vírgula, o agente impedirá que mensagens nesses níveis sejam capturadas e encaminhadas.
  3. Decoração log local: quando ativado, seu log existente será decorado com metadados que vinculam o log a outros dados do New Relic, como erros.

Para obter mais detalhes, consulte nossos documentos sobre como usar o logs contextualizados do agente .NET.

<applicationLogging enabled="true">
<metrics enabled="true" />
<forwarding enabled="true" maxSamplesStored="10000" logLevelDenyList="">
<contextData enabled="false" include="" exclude="" />
</forwarding>
<localDecorating enabled="false" />
</applicationLogging>

Esses recursos também podem ser configurados via variáveis de ambiente:

NEW_RELIC_APPLICATION_LOGGING_ENABLED=true|false
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true|false
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true|false
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true|false
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_INCLUDE="myCustomAttribute1, myOtherCustomAttribute*"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_EXCLUDE="myCustomAttribute2, myOtherCustomAttributeMoreSpecificName"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="log_level_1, log_level_2"
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true|false

O elemento applicationLogging suporta os seguintes atributos e subelementos:

Nível do código métrico

O elemento codeLevelMetrics é filho do elemento configuration . Use codeLevelMetrics para ativar o suporte ao nível do código métrico no CodeStream por meio de metadados adicionais do método instrumentado capturados como atributo no evento span.

Para obter mais detalhes, consulte nossa documentação para integração do New Relic CodeStream.

<codeLevelMetrics enabled="true" />

Isso também pode ser configurado através da variável de ambiente:

NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true|false

AI Monitoring

Por padrão, AI Monitoring está desabilitado. Para ativar AI Monitoring, defina o atributo enabled como true no elemento aiMonitoring. O elemento aiMonitoring é filho do elemento configuration .

<aiMonitoring enabled="true" />

Isso também pode ser configurado através da variável de ambiente:

NEW_RELIC_AI_MONITORING_ENABLED=true|false

O elemento aiMonitoring oferece suporte aos seguintes subelementos:

Configurações em app.config ou web.config

Para aplicativos de console ASP.NET e .NET framework , você também pode definir as seguintes configurações no app.config ou web.config do aplicativo, no elemento mais externo, <configuration>:

Configurações em appsettings.json

Para aplicativos .NET Core, você poderá definir as seguintes configurações em appsettings.json se o seguinte for verdadeiro:

Importante

Para aplicativos ASP..NET Core, o agente .NET lerá appsettings.{environment}.json se você definir a variável ASPNETCORE_ENVIRONMENT .

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.