• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

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.

Crea una propuesta

Configuración del agente .NET

Podrá configurar nuestro agente .NET para adaptarlo a su entorno después de crear una cuenta New Relic (es gratis, para siempre) e instalar el agente .NET.

Descripción general de la configuración

Las opciones de configuración del agente APM le permiten controlar algunos aspectos de cómo se comporta el agente. Algunas de estas opciones de configuración son parte del proceso de instalación básico (como configurar su clave de licencia y el nombre de la aplicación), pero la mayoría son configuraciones más avanzadas, como establecer un nivel de logs, configurar el acceso al host proxy, excluir ciertos atributos y habilitar rastreo distribuido.

El agente .NET obtiene su configuración del archivo newrelic.config , que se genera como parte del proceso de instalación. De forma predeterminada, solo se crea un archivo newrelic.config global, pero también puede crear archivos newrelic.config locales de la aplicación para un control más preciso sobre un sistema de múltiples aplicaciones. Otras formas de configurar las opciones de configuración incluyen: usar variables de entorno o configurar la configuración del lado del servidor desde la UI. Para obtener más información sobre las distintas opciones de configuración y qué anula qué, consulte Prioridad de las configuraciones de configuración.

La compatibilidad con .NET framework y .NET Core utiliza las mismas opciones de configuración y tiene la misma característica APM, a menos que se indique lo contrario.

Si realiza cambios en el archivo de configuración y desea validar que esté en el formato correcto, puede compararlo con el archivo XSD (por ejemplo, en C:\ProgramData\New Relic\.NET Agent\newrelic.xsd para Windows) con cualquier validador XSD.

Importante

For IIS: después de cambiar su archivo newrelic.config o app.config , realice un IISRESET desde un símbolo del sistema administrativo. Los ajustes del nivel de logs no requieren un reinicio.

Métodos de configuración y niveles de prioridad.

Tras la instalación, el archivo de configuración del agente .NET (newrelic.config) se aplica a todas las aplicaciones de monitor, pero puede configurar el agente de otras maneras. A continuación se muestra un diagrama que muestra cómo las diferentes opciones de configuración tienen prioridad entre sí:

Este diagrama explica el orden de prioridad de las diferentes formas en que puede configurar el agente .NET.

A continuación se detallan los métodos de configuración que se muestran en el diagrama y sus niveles de prioridad:

.NET configuration

Details and precedence

web.config o app.config o appsettings.json

Los ajustes de configuración establecidos en estos archivos tienen la máxima prioridad.

Si el agente está deshabilitado en el newrelic.config local o global:

  • La configuración de NewRelic.AgentEnabled en appsettings.json

    will enable the agent

    .

  • La configuración NewRelic.AgentEnabled en un archivo web.config o app.config

    will be ignored

    .

Variables de entorno

Segunda prioridad más alta. Para obtener más información sobre estos, consulte Variables de entorno .NET.

Configuración del lado del servidor

Tercera prioridad más alta. Está disponible un número limitado de opciones de configuración del lado del servidor ; las otras configuraciones provendrán de otras fuentes de configuración.

Aplicación local newrelic.config

Cuarta precedencia más alta. Puede crear archivos newrelic.config de aplicación local para configurar aplicaciones individuales en un sistema de múltiples aplicaciones. Estos archivos de configuración locales anulan la configuración del archivo global newrelic.config .

El agente busca archivos de configuración locales de la aplicación en los siguientes directorios, en este orden:

  • Un directorio especificado en su archivo web.config o app.config con la propiedad NewRelic.ConfigFile

  • El directorio raíz de la aplicación web (con app.config o web.config)

  • El directorio que contiene el archivo ejecutable de su aplicación.

    Tenga en cuenta que el archivo de configuración local de la aplicación debe estar completo y validarse con el archivo XSD (por ejemplo, en C:\ProgramData\New Relic\.NET Agent\newrelic.xsd para Windows).

Predeterminado (global) newrelic.config

Fuente predeterminada y prioridad más baja. Configurará todas las aplicaciones en un host en ausencia de otros archivos de configuración. El archivo de configuración global se encuentra en el directorio de inicio del agente New Relic: %PROGRAMDATA%\New Relic\.NET Agent

Variables de entorno requeridas

Nuestro agente .NET se basa en variables de entorno para indicarle a .NET Common Language Runtime (CLR) que adjunte New Relic a sus procesos. Algunos procedimientos de instalación del agente .NET (como el instalador MSI) configurarán automáticamente estas variables; algunos procedimientos requerirán que los configure manualmente.

Advertencia

Recomendación de seguridad: debe considerar qué usuario puede configurar las variables de entorno del sistema. También debe proteger las cuentas bajo las cuales se ejecuta su aplicación para evitar que las variables de entorno del usuario anulen las variables de entorno del sistema.

Si su sistema ha utilizado anteriormente servicios de monitoreo (que no son de New Relic), es posible que tenga un "conflicto de generador de perfiles" al intentar instalar y utilizar el agente de New Relic. Más detalles:

Para obtener instrucciones de instalación específicas, consulte la documentación de instalación del agente .NET.

Variables de entorno opcionales

Algunas opciones de configuración en el agente .NET de New Relic se pueden configurar mediante variables de entorno como alternativa a configurarlas en un archivo de configuración. A continuación se muestra una lista de variables de entorno reconocidas por el agente .NET con valores de ejemplo.

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

Si está utilizando New Relic CodeStream para monitor el rendimiento de su IDE, es posible que también desee asociar el repositorio con sus servicios y asociar SHA de compilación o etiqueta de lanzamiento con errores.

Configuración Errors Inbox

Configurar una de las siguientes etiquetas le ayudará a identificar qué versiones de su software están produciendo los errores.

  • NEW_RELIC_METADATA_SERVICE_VERSION creará tags.service.version en los datos del evento que contienen la versión de su código que se desplegará, en muchos casos una versión semántica como 1.2.3, pero no siempre.
  • NEW_RELIC_METADATA_RELEASE_TAG creará tags.releaseTag en los datos del evento que contienen la etiqueta de lanzamiento (como v0.1.209 o release-209).
  • NEW_RELIC_METADATA_COMMIT creará tags.commit on event data containing the commit sha. Se puede utilizar el sha completo o sólo los primeros siete caracteres (por ejemplo, 734713b).

Una próxima versión de Errors Inbox rastreará automáticamente qué versiones de su software están produciendo errores. Todos los datos de la versión también se mostrarán en CodeStream.

Opciones de configuración, newrelic.config

Utilice estas opciones para instalar y configurar su agente a través del archivo newrelic.config. El agente .NET admite las siguientes categorías de opciones de configuración:

Elemento de configuración

El elemento raíz del documento de configuración es un elemento configuration .

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

El elemento configuration admite el siguiente atributo:

Elemento de servicio

El primer hijo del elemento configuration es un elemento service . El elemento de servicio configura la conexión del agente al servicio New Relic.

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

El elemento service admite el siguiente atributo:

Elemento clave que oscurece

El elemento obscuringKey es un elemento secundario opcional del elemento service . El agente .NET utiliza este valor para desofuscar los valores de configuración admitidos. Por ejemplo, cuando se proporciona una contraseña de proxy ofuscada , se desofuscará utilizando esta clave.

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

La clave de oscurecimiento también se puede configurar configurando la variable de entorno NEW_RELIC_CONFIG_OBSCURING_KEY .

Advertencia

Recomendación de seguridad: la colocación de la clave oculta en el mismo archivo de configuración que un valor ofuscado puede suponer un riesgo para la seguridad. Considere colocar la clave de oscurecimiento y la contraseña de proxy ofuscada en variables de entorno y limitar el acceso a las variables de entorno dentro de su entorno.

Elemento proxy

El elemento proxy es un elemento secundario opcional del elemento service . El elemento proxy se utiliza cuando el agente se comunica con el servicio backend de New Relic a través de un 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>

El elemento proxy admite el siguiente atributo:

Elemento log

El elemento log es hijo del elemento configuration . El elemento log configura el logging de New Relic. El agente genera su propio archivo de registro para mantener su información de logging separada del registro de su aplicación.

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

El elemento log admite el siguiente atributo:

Elemento de aplicación (requerido)

El elemento application es hijo del elemento configuration . Este elemento obligatorio define el nombre de su aplicación y habilita o deshabilita el muestreo.

Elemento de transmisión de datos

El elemento dataTransmission es hijo del elemento configuration . Este elemento afecta la forma en que se envían los datos a New Relic y puede usarse si tiene requisitos específicos de transmisión de datos.

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

El elemento dataTransmission admite el siguiente atributo:

Nombre de host

Si la etiqueta de nombre de host predeterminada en la UI de APM no es útil, puede decorar ese nombre en la UI de New Relic con un nombre para mostrar. Después de reiniciar el proceso de la aplicación y el agente .NET vuelve a informar, el nombre para mostrar aparecerá en la lista desplegable Servers . Esta configuración de nombre de host no afecta la lista de hosts en la página Summary de su aplicación.

Para establecer un nombre para mostrar, elija una de las siguientes opciones. La variable de entorno tiene prioridad sobre el valor del archivo de configuración. Luego reinicie su aplicación para ver sus cambios en la UI de New Relic.

Utilización de la plataforma en la nube

El elemento de configuración utilization controla cómo el agente recopila información de utilización y la envía al servicio New Relic para determinar el precio. El agente puede recopilar información de instancias EC2 de Amazon Web Services (AWS), docker contenedor, Microsoft Azure, Google Cloud Platform, Pivotal Cloud Foundry y Kubernetes.

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

El elemento utilization admite el siguiente atributo:

Opciones de instrumentación

Utilice estas opciones para configurar qué elementos de su aplicación y entorno utilizará. New Relic para .NET admite las siguientes categorías de opciones de instrumentación:

Elemento de instrumentación

El elemento instrumentation es hijo del elemento configuration . De forma predeterminada, el agente .NET instrumenta los procesos de trabajo asp de IIS y los roles web y de trabajo de Microsoft Azure. Para instrumentar otros procesos, consulte instrumentado aplicación personalizada.

Elemento de reglas (instrumentación)

Importante

Esta característica está disponible en .NET agente 10.21.0 y superiores.

El elemento rules es hijo del elemento instrumentation . El elemento rules admite cualquier número de elementos secundarios ignore , lo que indica al generador de perfiles que NO utilice ningún método definido en el ensamblado especificado. Los métodos definidos en otras asambleas seguirán estando instrumentados.

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

La regla de ignorar le permite definir opcionalmente un nombre de clase. En el siguiente ejemplo, solo se ignorarán los métodos definidos en MyNamespace.MyClass en el ensamblado MyAssembly. El generador de perfiles no ignorará otros métodos en otras clases, tanto dentro de ese ensamblaje como dentro de otros ensamblajes.

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

Se puede especificar más de una regla de ignorar. El siguiente ejemplo deshabilita la instrumentación de Confluent Kafka y StackExchange Redis .

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

Tenga en cuenta que la instrumentación personalizada no se puede ignorar mediante el elemento rules .

Elemento de aplicación (instrumentación)

El elemento applications es hijo del elemento instrumentation . El elemento applications admite application elementos secundarios que especifican qué aplicaciones no web utilizar. El elemento application contiene un atributo name .

Importante

No es lo mismo que el elemento application (configuración) , que es hijo del elemento configuration .

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

Elemento atributo

Un atributo es un par de valores principales que determina las propiedades de un evento o transacción. Cada atributo se envía a APM traza de la transacción, APM error traza, Transaction evento, TransactionError evento o PageView evento. El elemento principal attributes habilita o deshabilita la recopilación de atributos para el agente .NET y define un atributo específico para recopilar o excluir. También puede configurar los ajustes del atributo según su destino: recopilación de errores, traza de la transacción, instrumentación del navegador y evento de transacción.

En este ejemplo, el agente excluye todos los atributos cuya clave comienza con myApiKey (myApiKey.bar, myApiKey.value), pero recopila el atributo personalizado myApiKey.foo.

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

Puede ver el atributo .NET APM en la página de atributos del agente .NET . También puede definir un atributo personalizado con la llamada API del agente AddCustomAttribute.

Opciones caracteristicas

Utilice estas opciones para habilitar, deshabilitar y configurar la característica New Relic. New Relic para .NET te permite configurar la siguiente característica:

Grupos de aplicaciones

Importante

Esto solo se aplica al archivo de configuración global de un sistema.

Importante

Esta configuración solo se aplica cuando el modelo de hospedaje de IIS está configurado en proceso.

El elemento applicationPools es hijo del elemento configuration . El elemento applicationPools especifica para el generador de perfiles exactamente qué grupos de aplicaciones corresponden al instrumento y utiliza el mismo nombre que el nombre del grupo de aplicaciones de IIS. Este elemento de configuración es útil cuando es posible que necesite instrumentar solo un pequeño subconjunto de sus grupos de aplicaciones. Por ejemplo, un servidor determinado puede tener varios cientos de grupos de aplicaciones, pero el agente .NET solo necesita instrumentar algunos de esos grupos.

A continuación se muestra un ejemplo de cómo deshabilitar la instrumentación para grupos de aplicaciones específicos:

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

A continuación se muestra un ejemplo de cómo deshabilitar la instrumentación para todos los grupos de aplicaciones que se ejecutan actualmente en el servidor y habilitar la instrumentación para grupos de aplicaciones específicos:

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

El elemento applicationPools admite los siguientes elementos:

Colección de errores

El elemento errorCollector es hijo del elemento configuration . errorCollector configura la recopilación de errores, que captura información sobre excepciones no detectadas y las envía a 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>

Sugerencia

Para obtener una descripción general de la configuración de errores en APM, consulte Administrar errores en APM.

Importante

expectedClasses, expectedMessages y expectedStatusCodes las opciones de configuración requieren la versión 8.31.0.0 o superior del agente .NET.

El elemento errorCollector admite los siguientes elementos y atributos:

Modo de alta seguridad

El elemento highSecurity es hijo del elemento configuration . Para habilitar el modo de alta seguridad, establezca esta propiedad en true y habilite la propiedad de alta seguridad en la interfaz de usuario de New Relic. Al habilitar la alta seguridad se activa SSL; el parámetro de solicitud, el parámetro personalizado y los encabezados de solicitud HTTP no se recopilan; los mensajes de excepción de eliminación están habilitados; y la consulta no se puede enviar a New Relic en su forma original.

Eliminar mensajes de excepción

El elemento stripExceptionMessages es hijo del elemento configuration . Para habilitar mensajes de excepción de eliminación, establezca esta propiedad en true. De forma predeterminada, esto está configurado en falso, lo que significa que el agente envía mensajes de todas las excepciones al recolector de New Relic. Si habilita el modo de alta seguridad, esto cambia automáticamente a verdadero y el agente elimina los mensajes de las excepciones.

Evento de transacción

El elemento transactionEvents es hijo del elemento configuration . Utilice transactionEvents para configurar el evento de transacción.

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

El elemento transactionEvents admite el siguiente atributo:

Evento personalizado

El elemento customEvents es hijo del elemento configuration . Utilice customEvents para configurar el evento personalizado.

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

El elemento customEvents admite el siguiente atributo:

Parámetro personalizado

El elemento customParameters es hijo del elemento configuration . Utilice customParameters para configurar el parámetro personalizado.

<customParameters enabled="true" />

El elemento customParameters admite el siguiente atributo:

Etiquetas (etiqueta)

El elemento labels es hijo del elemento configuration .

Esto establece nombres y valores de etiquetas . La lista es una lista delimitada por punto y coma de pares de nombres y valores separados por dos puntos. También puede utilizar con la variable de entorno NEW_RELIC_LABELS . Ejemplo:

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

Instrumentación browser

El elemento browserMonitoring es hijo del elemento configuration . browserMonitoring configura en su aplicación .NET. browser le brinda información valiosa sobre la experiencia de rendimiento final de su usuario. Esto se logra midiendo el tiempo que le toma al navegador de su usuario descargar y renderizar sus páginas web inyectando una pequeña cantidad de código JavaScript en el encabezado y pie de página 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>

El elemento browserMonitoring admite el siguiente atributo:

Consulta lenta

El elemento slowSql es hijo del elemento configuration . slowSql configura la captura de información sobre las ejecuciones de consulta lenta y captura y ofusca los planes explicativos para estas consultas.

<slowSql enabled="true"/>

El elemento slowSql admite el siguiente atributo:

Traza de la transaccion

El elemento transactionTracer es hijo del elemento configuration . transactionTracer configura la traza de la transacción. En la traza se incluye la secuencia exacta de llamadas de la transacción, incluidas las declaraciones 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>

El elemento transactionTracer admite el siguiente atributo:

Rastreador de almacenamiento de datos

El elemento datastoreTracer es hijo del elemento configuration .

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

El elemento datastoreTracer admite los siguientes subelementos:

rastreo distribuido

El elemento distributedTracing es hijo del elemento configuration .

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

Rastreo distribuido te permite ver el camino que sigue una solicitud a medida que viaja a través de un sistema distribuido. Requiere .NET agente versión 8.6.45.0 o superior y está activado de forma predeterminada en los agentes .NET 9.0.0.0 y superiores.

Importante

Habilitar rastreo distribuido deshabilita el rastreo de múltiples aplicaciones y tiene otros efectos en la característica APM. Antes de habilitar, lea la guía de planificación.

Para obtener más información sobre cómo configurar rastreo distribuido, consulte Habilitar rastreo distribuido para su aplicación .NET.

El elemento distributedTracing admite el siguiente atributo:

Rastreo distribuido informes abarcan evento. Los informes de eventos de intervalo están habilitados de forma predeterminada, pero rastreo distribuido debe estar habilitado para que se informen los intervalos. Para deshabilitar el evento span, elija una de las siguientes opciones:

Rastreo infinito

Infinite Tracing amplía el servicio de distribución de rastreo empleando un observador de traza externo al agente. Observa el 100% de la traza de su aplicación en varios servicios y proporciona datos accionables para que pueda resolver los problemas más rápido.

Para activar Infinite Tracing, asegúrese de tener la versión 8.30 o superior del agente .NET y habilite rastreo distribuido. Luego agregue las siguientes configuraciones adicionales:

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

Importante

Los intervalos de seguimiento infinito se pueden limitar mediante la configuración transactionTracer.maxSegments .

El elemento infiniteTracing admite los siguientes elementos:

Multiaplicación traza

El elemento crossApplicationTracer es hijo del elemento configuration . crossApplicationTracer vincula la traza de la transacción a través de la aplicación. Cuando se vinculan en una arquitectura orientada a servicios, todas las aplicaciones instrumentadas que se comunican entre sí a través de HTTP ahora "vincularán" la traza de la transacción con la aplicación a la que llaman y la aplicación por la que son llamados. El seguimiento de múltiples aplicaciones facilita la comprensión de la relación de rendimiento entre los servicios y la aplicación.

Importante

El rastreo de aplicaciones múltiples ha quedado obsoleto a partir de la versión 9.0.0 del agente y está deshabilitado de forma predeterminada. Se eliminará en una futura versión del agente. Para utilizar CAT con v9+ del agente, debe configurar tanto crossApplicationTracer.enabled = true como distributedTracing.enabled = false. Habilitar distributed tracing deshabilitará el rastreo multiaplicación.

<crossApplicationTracer enabled="true"/>

El elemento crossApplicationTracer admite el siguiente atributo:

Evento de duración

El elemento spanEvents es hijo del elemento configuration . Utilice spanEvents para configurar el evento span.

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

El elemento spanEvents admite el siguiente atributo:

Capturar encabezados de solicitud HTTP

El elemento allowAllHeaders es hijo del elemento configuration . Establezca esto en true para permitir que el agente .NET capture todos los encabezados de solicitud HTTP y los aplique a Span y Transaction evento como request.headers.{http-header-name} atributo. Establezca esto en false para permitir que el agente .NET solo recopile los siguientes encabezados de solicitud HTTP:

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

Importante

La configuración allowAllHeaders solo está disponible en la versión 8.40.0+ del agente .NET. Cuando se utiliza allowAllHeaders para capturar el atributo, el atributo del encabezado de solicitud capturado todavía está siendo controlado por la configuración del atributo de nivel raíz y de destino. Sin configurar el request.header.* en la lista include debajo del elemento attributes (consulte lo siguiente), el agente .NET aún filtra todos los atributos de encabezado. El newrelic.config predeterminado está configurado para incluir el request.header.*.

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

El valor predeterminado newrelic.config también está configurado para excluir explícitamente los siguientes encabezados de solicitud HTTP para evitar que el agente .NET recopile datos no deseados.

<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>

Logging de aplicaciones

Importante

Estas opciones de configuración solo están disponibles con las versiones 9.7.1 y superiores del agente .NET. Las opciones relacionadas con datos de contexto (atributo personalizado) solo están disponibles en las versiones del agente .NET 10.4.0 y superiores.

El elemento applicationLogging es hijo del elemento configuration . Utilice applicationLogging para configurar la instrumentación de la actividad de logging de su aplicación.

Hay tres subcaracterísticas principales:

  1. Métrica: recopile métrica sobre el número total de líneas de log escritas por ciclo de cosecha (Logging/lines), así como el número de líneas log escritas en niveles de logging particulares (por ejemplo, Logging/lines/ERROR).

  2. Reenvío de logs: cuando esté habilitado, el agente capturará datos log y los enviará a New Relic.

    • Datos de contexto (a través de AddCustomAttribute): cuando esté habilitado, el agente capturará y reenviará cualquier atributo log personalizado. Los elementos include y exclude son listas separadas por comas de nombres de atributos para incluir o excluir, siguiendo las mismas reglas que la configuración de otros atributos de agente. Ambos están vacíos de forma predeterminada, lo que da como resultado que todos los datos del contexto log se capturen y reenvíen.
    • Filtrado de niveles de logs: cuando se configura con uno o más niveles de logs en una lista separada por comas, el agente evitará que los mensajes en esos niveles sean capturados y reenviados.
  3. Decoración log local: cuando esté habilitado, su registro existente se decorará con metadatos que vinculan el registro con otros datos de New Relic, como los errores.

Para obtener más detalles, consulte nuestros documentos sobre el uso de logs en el contexto del agente .NET.

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

Estas características también se pueden configurar mediante variables de entorno:

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

El elemento applicationLogging admite los siguientes atributos y subelementos:

Nivel de código métrico

El elemento codeLevelMetrics es hijo del elemento configuration . Utilice codeLevelMetrics para habilitar la compatibilidad métrica a nivel de código en CodeStream a través de metadatos de métodos instrumentados adicionales capturados como atributo en el evento span.

Para obtener más detalles, consulte nuestra documentación para la integración de New Relic CodeStream.

<codeLevelMetrics enabled="true" />

Esto también se puede configurar mediante la variable de entorno:

NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true|false

Monitoreo de IA

De forma predeterminada, el monitoreo de IA está deshabilitado. Para habilitar el monitoreo de IA, establezca el atributo enabled en true en el elemento aiMonitoring . El elemento aiMonitoring es hijo del elemento configuration .

<aiMonitoring enabled="true" />

Esto también se puede configurar mediante la variable de entorno:

NEW_RELIC_AI_MONITORING_ENABLED=true|false

El elemento aiMonitoring admite los siguientes subelementos:

Configuraciones en app.config o web.config

Para aplicaciones de consola de ASP.NET y .NET framework , también puede configurar las siguientes opciones en app.config o web.config de su aplicación, dentro del elemento más externo, <configuration>:

Configuración en appsettings.json

Para aplicaciones .NET Core, puede configurar las siguientes opciones en appsettings.json si se cumple lo siguiente:

Importante

Para aplicaciones ASP..NET Core, el agente .NET leerá desde appsettings.{environment}.json si configura la variable ASPNETCORE_ENVIRONMENT .

Copyright © 2024 New Relic Inc.

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