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 global newrelic.config
, pero también puedes crear archivos locales de la aplicación newrelic.config
para tener un control más preciso de un sistema de múltiples aplicaciones. Otras formas de establecer opciones de configuración incluyen: usar variables de entorno o establecer 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é prevalece sobre qué, consulte Prioridad de 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 |
---|---|
| Los ajustes de configuración establecidos en estos archivos tienen la máxima prioridad. Si el agente está deshabilitado en el
|
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 | Cuarta precedencia más alta. Puede crear archivos El agente busca archivos de configuración locales de la aplicación en los siguientes directorios, en este orden:
|
Predeterminado (global) | 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: |
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=YOUR_LICENSE_KEYNEW_RELIC_APP_NAME=Descriptive NameMAX_TRANSACTION_SAMPLES_STORED=500MAX_EVENT_SAMPLES_STORED=500NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=trueNEW_RELIC_SPAN_EVENTS_ENABLED=falseNEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=2000NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST=myhost.infinitetracing.comNEW_RELIC_LABELS="foo:bar;zip:zap"NEW_RELIC_PROCESS_HOST_DISPLAY_NAME=Custom NameNEW_RELIC_HOST=gov-collector.newrelic.comNEW_RELIC_PROXY_HOST=hostnameNEW_RELIC_PROXY_URI_PATH=path/to/something.aspxNEW_RELIC_PROXY_PORT=5000NEW_RELIC_PROXY_USER=YOUR_USER_NAMENEW_RELIC_PROXY_PASS=YOUR_PROXY_PASSWORDNEW_RELIC_PROXY_DOMAIN=mydomain.comNEW_RELIC_PROXY_PASS_OBFUSCATED=YOUR_OBFUSCATED_PROXY_PASSWORDNEW_RELIC_CONFIG_OBSCURING_KEY=YOUR_OBSCURING_KEYNEW_RELIC_SEND_DATA_ON_EXIT=trueNEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS=2000NEW_RELIC_HIGH_SECURITY=trueNEW_RELIC_DISABLE_SAMPLERS=trueNEW_RELIC_LOG=MyApp.logNEW_RELIC_LOG_ENABLED=trueNEWRELIC_LOG_LEVEL=infoNEW_RELIC_LOG_CONSOLE=trueNEWRELIC_PROFILER_LOG_DIRECTORY=path\to\a\directory # not configurable via config fileNEWRELIC_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.NEW_RELIC_LOG_ROLLING_STRATEGY=dayNEW_RELIC_LOG_MAX_FILE_SIZE_MB=100NEW_RELIC_LOG_MAX_FILES=2NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES=401, 403.18NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES=401, 501-503NEW_RELIC_APPLICATION_LOGGING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=trueNEW_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=10000NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="debug, warn"NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=trueNEW_RELIC_ALLOW_ALL_HEADERS=trueNEW_RELIC_ATTRIBUTES_ENABLED=trueNEW_RELIC_ATTRIBUTES_INCLUDE=request.headers.*,foo.barNEW_RELIC_ATTRIBUTES_EXCLUDE=request.headers.cookie,request.headers.authorizationNEW_RELIC_UTILIZATION_DETECT_AWS=trueNEW_RELIC_UTILIZATION_DETECT_AZURE=trueNEW_RELIC_UTILIZATION_DETECT_GCP=trueNEW_RELIC_UTILIZATION_DETECT_PCF=trueNEW_RELIC_UTILIZATION_DETECT_DOCKER=trueNEW_RELIC_UTILIZATION_DETECT_KUBERNETES=trueNEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD=trueNEW_RELIC_CODE_LEVEL_METRICS_ENABLED=trueNEW_RELIC_AI_MONITORING_ENABLED=trueNEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED=true
Si está empleando New Relic CodeStream para monitor el rendimiento de su IDE, es posible que también desee asociar el repositorio con sus servicios y asociar los SHA de compilación o las etiquetas de lanzamiento con los 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
Emplee 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
- Elemento de servicio
- Elemento clave que oscurece
- Elemento proxy
- Elemento log
- Elemento de aplicación (configuración)
- Elemento de transmisión de datos
- Nombre de host
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
- Elemento de reglas
- Elemento de aplicación (instrumentación)
- Elemento atributo
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 ignore
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 parámetro 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: colección de errores, traza de la transacción, instrumentaciónbrowser 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
- Colección de errores
- Modo de alta seguridad
- Eliminar mensajes de excepción
- Evento de transacción
- Evento personalizado
- Parámetro personalizado
- Etiqueta/etiquetas
- Instrumentación browser
- Consulta lenta
- Traza de la transaccion
- Rastreador de almacenamiento de datos
- rastreo distribuido
- Rastreo infinito
- Multiaplicación traza
- Evento de duración
- Capturar encabezados de solicitud HTTP
- Logging de aplicaciones
- Nivel de código métrico
- Monitoreo de IA
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>
NEW_RELIC_LABELS="foo:bar;zip:zap"
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:
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
).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 elementosinclude
yexclude
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.
- Etiquetas: cuando está habilitado, el agente agrega etiquetas personalizadas al registro reenviado por el agente. Puede emplear el atributo
exclude
, que es una lista de nombres de etiquetas separados por comas y que no distingue entre mayúsculas y minúsculas. De forma predeterminada, el agente agrega etiquetas personalizadas cuando el atributoexclude
está vacío.
- Datos de contexto (a través de
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="" /> <labels enabled="false" exclude="" /> </forwarding> <localDecorating enabled="false" /></applicationLogging>
Estas características también se pueden configurar mediante variables de entorno:
NEW_RELIC_APPLICATION_LOGGING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=trueNEW_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=10000NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="debug, warn"NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_EXCLUDE="label1, label2"NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true
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
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
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:
El archivo
appsettings.json
debe estar ubicado en el directorio de trabajo actual de la aplicación.La solicitud debe tener la siguiente dependencia:
Importante
Para aplicaciones ASP..NET Core, el agente .NET leerá desde appsettings.{environment}.json
si configura la variable ASPNETCORE_ENVIRONMENT
.