Vous pourrez configurer notre agent .NET en fonction de votre environnement après avoir créé un compte New Relic (c'est gratuit, pour toujours) et installé l'agent .NET.
Présentation de la configuration
Les options de configuration de l'agent APM vous permettent de contrôler certains aspects du comportement de l'agent. Certaines de ces options de configuration font partie du processus d'installation de base (comme la définition de votre clé de licence et du nom de votre application), mais la plupart sont des paramètres plus avancés, tels que la définition d'un niveau de log, la configuration de l'accès à l'hôte proxy, l'exclusion de certains attributs et l'activation du tracing distribué.
L'agent .NET obtient sa configuration à partir du fichier newrelic.config
, qui est généré dans le cadre du processus d'installation. Par défaut, seul un fichier global newrelic.config
est créé, mais vous pouvez également créer des fichiers locaux newrelic.config
pour un contrôle plus précis sur un système multi-applications. D'autres façons de définir les options de configuration incluent : l'utilisation de variables d'environnement ou la définition configuration côté serveur à partir de l'UI. Pour en savoir plus sur les différentes options de configuration et sur ce qui remplace quoi, voir Priorité des paramètres de configuration.
La prise en charge de .NET Framework et de .NET Core utilise les mêmes options configuration et dispose de la même fonctionnalité APM, sauf indication contraire.
Si vous apportez des modifications au fichier de configuration et souhaitez valider qu'il est au bon format, vous pouvez le vérifier par rapport au fichier XSD (par exemple, à C:\ProgramData\New Relic\.NET Agent\newrelic.xsd
pour Windows) avec n'importe quel validateur XSD.
Important
For IIS: après avoir modifié votre fichier newrelic.config
ou app.config
, exécutez une commande IISRESET
à partir d'une invite de commande administrative. les réglages du niveau de log ne nécessitent pas de réinitialisation.
Méthodes de configuration et niveaux de priorité
Lors de installation, le agent configuration fichier de .NET ()newrelic.config
s'applique à toutes les applications de monitoring, mais vous pouvez configurer l'agent d'autres manières. Voici un diagramme montrant comment différentes options de configuration ont priorité les unes sur les autres :

Ce diagramme explique l’ordre de priorité des différentes manières de configurer l’agent .NET.
Voici des détails sur les méthodes de configuration présentées dans le diagramme et leurs niveaux de priorité :
.NET configuration | Details and precedence |
---|---|
| Les paramètres de configuration définis dans ces fichiers ont la plus haute priorité. Si l'agent est désactivé au niveau local ou global
|
Variables d'environnement | Deuxième priorité la plus élevée. Pour en savoir plus, consultez Variables d’environnement .NET. |
Configuration côté serveur | Troisième priorité la plus élevée. Un nombre limité de paramètres de configuration côté serveur sont disponibles ; les autres paramètres proviendront d'autres sources de configuration. |
Application locale | Quatrième priorité la plus élevée. Vous pouvez créer des fichiers L'agent recherche les fichiers de configuration locaux de l'application dans les répertoires suivants, dans cet ordre :
|
Par défaut (global) | Source par défaut et priorité la plus basse. Configurera toutes les applications sur un hôte en l'absence d'autres fichiers de configuration. Le fichier de configuration global se trouve dans le répertoire de base de l'agent New Relic : |
Variables d'environnement requises
Notre agent .NET s'appuie sur des variables d'environnement pour indiquer au .NET Common Language Runtime (CLR) d'attacher New Relic à vos processus. Certaines procédures d'installation agent .NET (comme le programme d'installation MSI) définiront automatiquement ces variables pour vous ; certaines procédures nécessiteront que vous les définissiez manuellement.
Prudence
Recommandation de sécurité : vous devez déterminer quel utilisateur peut définir les variables d'environnement du système. Vous devez également sécuriser les comptes sous lesquels votre application s'exécute pour éviter que les variables d'environnement utilisateur ne remplacent les variables d'environnement système.
Si votre système a déjà utilisé monitoring des services (non-New Relic), vous pouvez avoir un « conflit de profileur » lorsque vous essayez d'installer et d'utiliser l'agent de New Relic. Plus de détails :
Pour obtenir des instructions d’installation spécifiques, consultez la documentation d’installation de l’agent .NET.
Variables d'environnement facultatives
Certaines options de configuration de l'agent .NET de New Relic peuvent être définies via des variables d'environnement au lieu de les définir dans un fichier de configuration. Vous trouverez ci-dessous une liste des variables d’environnement reconnues par l’agent .NET avec des exemples de valeurs.
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=trueNEW_RELIC_CLOUD_AWS_ACCOUNT_ID=123456789012
Si vous utilisez New Relic CodeStream pour monitorer les performances de votre IDE, vous souhaiterez peut-être également associer un référentiel à vos services et associer des SHA de build ou une balise de sortie à des erreurs.
Erreurs configuration de la boîte de réception
La définition de l’une des balises suivantes vous aidera à identifier les versions de votre logiciel qui génèrent les erreurs.
NEW_RELIC_METADATA_SERVICE_VERSION
créera tag.service.version sur les données d'événement contenant la version de votre code qui est déployée, dans de nombreux cas une version sémantique telle que 1.2.3, mais pas toujours.NEW_RELIC_METADATA_RELEASE_TAG
créera tag.releaseTag sur les données d'événement contenant la tag de sortie (comme v0.1.209 ou sortie-209).NEW_RELIC_METADATA_COMMIT
créera tag.commit sur les données d'événement contenant le commit sha. Le SHA entier peut être utilisé ou seulement les sept premiers caractères (par exemple, 734713b).
Une prochaine version de la boîte de réception des erreurs suivra automatiquement les versions de votre logiciel qui génèrent des erreurs. Toutes les données de version seront également affichées dans CodeStream.
Options de configuration, newrelic.config
Utilisez ces options pour installer et configurer votre agent via le fichier newrelic.config
. L'agent .NET prend en charge les catégories d'options de configuration suivantes :
- Élément de configuration
- Élément de service
- Élément clé obscurcissant
- Élément proxy
- Élément de log
- Élément d'application (configuration)
- Élément de transmission de données
- Nom de l'hôte
Élément de configuration
L'élément racine du document de configuration est un élément configuration
.
<configuration xmlns="urn:newrelic-config" agentEnabled="true" maxStackTraceLines="50">
L'élément configuration
prend en charge l'attribut suivant :
Élément de service
Le premier enfant de l'élément configuration
est un élément service
. L'élément de service configure la connexion de l'agent au service New Relic.
<service licenseKey="YOUR_LICENSE_KEY" sendEnvironmentInfo="true" syncStartup="false" sendDataOnExit="false" sendDataOnExitThreshold="60000" autoStart="true"/>
L'élément service
prend en charge l'attribut suivant :
Élément clé obscurcissant
L'élément obscuringKey
est un enfant facultatif de l'élément service
. L'agent .NET utilise cette valeur pour désobscurcir les valeurs de configuration prises en charge. Par exemple, lorsqu'un mot de passe proxy obscurci est fourni, il sera désobscurci à l'aide de cette clé.
<service licenseKey="YOUR_LICENSE_KEY"> <obscuringKey>OBSCURING_KEY</obscuringKey></service>
La clé d'obscurcissement peut également être configurée en définissant la variable d'environnement NEW_RELIC_CONFIG_OBSCURING_KEY
.
Prudence
Recommandation de sécurité : le placement de la clé obscurcissante dans le même fichier de configuration qu'une valeur obscurcie peut présenter un risque de sécurité. Envisagez de placer la clé d’obscurcissement et le mot de passe proxy obscurci dans les variables d’environnement et de limiter l’accès aux variables d’environnement dans votre environnement.
Élément proxy
L'élément proxy
est un enfant facultatif de l'élément service
. L'élément proxy
est utilisé lorsque l'agent communique avec le service backend New Relic via 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>
L'élément proxy
prend en charge l'attribut suivant :
Élément de log
L'élément log
est un enfant de l'élément configuration
. L'élément log
configure le logging de New Relic. L'agent génère son propre fichier de log pour conserver ses informations de logging séparées du log de votre application.
<log enabled="true" level="info" auditLog="false" console="false" directory="PATH\TO\LOG\DIRECTORY" fileName="FILENAME.log" />
L'élément log
prend en charge l'attribut suivant :
Élément d'application (obligatoire)
L'élément application
est un enfant de l'élément configuration
. Cet élément obligatoire définit le nom de votre application et désactive ou active l'échantillonnage.
Élément de transmission de données
L'élément dataTransmission
est un enfant de l'élément configuration
. Cet élément affecte la manière dont les données sont envoyées à New Relic et peut être utilisé si vous avez des exigences spécifiques en matière de transmission de données.
<dataTransmission putForDataSend="false" compressedContentEncoding="deflate"/>
L'élément dataTransmission
prend en charge l'attribut suivant :
Nom de l'hôte
Si le nom d'hôte par défaut dans l'UI APM n'est pas utile, vous pouvez décorer ce nom dans l'UI de New Relic avec un nom d'affichage. Une fois le processus d’application redémarré et l’agent .NET à nouveau opérationnel, le nom d’affichage apparaît dans la liste déroulante Servers. Ce paramètre de nom d'hôte n'affecte pas la liste des hôtes sur la page Summary de votre application.
Pour définir un nom d’affichage, choisissez l’une des options suivantes. La variable d'environnement a priorité sur la valeur du fichier de configuration. Redémarrez ensuite votre application pour voir vos modifications dans l'UI de New Relic.
Utilisation de la plateforme cloud
L'élément de configuration utilization
contrôle la manière dont l'agent collecte les informations d'utilisation et les envoie au service New Relic pour déterminer la tarification. L'agent peut collecter des informations à partir des instances Amazon Web Services (AWS) EC2, du conteneur Docker, Microsoft Azure, Google Cloud Platform, de Pivotal Cloud Foundry et Kubernetes.
<configuration . . . > <utilization detectAws="true" detectAzure="true" detectGcp="true" detectPcf="true" detectDocker="true" detectKubernetes="true" /></configuration>
L'élément utilization
prend en charge l'attribut suivant :
Options d'instrumentation
Utilisez ces options pour configurer les éléments de votre application et de votre environnement à instrument. New Relic for .NET prend en charge les catégories suivantes d’options d’instrumentation :
Élément d'instrumentation
L'élément instrumentation
est un enfant de l'élément configuration
. Par défaut, l’ agent .NET instrumente les processus de travail IIS ASP et les rôles Web et de travail Microsoft Azure . Pour instrumenter d'autres processus, voir application personnalisée instrumentée.
Élément de règles (instrumentation)
Important
Cette fonctionnalité est disponible dans l'agent .NET 10.21.0 et versions ultérieures.
L'élément rules
est un enfant de l'élément instrumentation
. L'élément rules
prend en charge n'importe quel nombre d'éléments enfants ignore
, ce qui indique au profileur de NE PAS instrumenter les méthodes définies dans l'assembly spécifié. Les méthodes définies dans d'autres assemblages seront toujours instrumentées.
<instrumentation> <rules> <ignore assemblyName="NameOfAssemblyToIgnore" /> </rules></instrumentation>
La règle ignore
vous permet de définir éventuellement un nom de classe. Dans l'exemple suivant, seules les méthodes définies dans MyNamespace.MyClass
dans l'assembly MyAssembly
seront ignorées. Les autres méthodes dans d’autres classes à l’intérieur de cet assembly et dans d’autres assemblys ne seront pas ignorées par le profileur.
<instrumentation> <rules> <ignore assemblyName="MyAssembly" className="MyNamespace.MyClass" /> </rules></instrumentation>
Plusieurs règles d’ignorance peuvent être spécifiées. L'exemple suivant désactive à la fois l'instrumentation Confluent Kafka et StackExchange Redis .
<instrumentation> <rules> <ignore assemblyName="Confluent.Kafka" /> <ignore assemblyName="StackExchange.Redis" /> </rules></instrumentation>
Veuillez noter que l'instrumentation personnalisée ne peut pas être ignorée via l'élément rules
.
Élément d'application (instrumentation)
L'élément applications
est un enfant de l'élément instrumentation
. L'élément applications
prend en charge application
éléments enfants qui spécifient les applications non Web à instrument. L'élément application
contient un attribut name
.
Important
Ce n’est pas la même chose que l’élément application
(configuration), qui est un enfant de l’élément configuration
.
<instrumentation> <applications> <application name="MyService1.exe" /> <application name="MyService2.exe" /> <application name="MyService3.exe" /> </applications></instrumentation>
élément d'attribut
Un attribut est une paire valeur clé qui détermine les propriétés d'un événement ou d'une transaction. Chaque attribut est envoyé à APM trace de transaction, APM error trace, Transaction
événement, TransactionError
événement, Span
événement ou PageView
événement. L'élément principal attributes
active ou désactive la collecte d'attributs pour l'agent .NET et définit l'attribut spécifique à collecter ou à exclure. Vous pouvez également configurer les paramètres d’attribut en fonction de la destination spécifique :
- Collecte d'erreurs
- Événement de transaction
- Trace de transaction
- Événements de span
- Événement de l'agent Browser
Dans cet exemple, l'agent exclut tous les attributs dont la clé commence par myApiKey
(myApiKey.bar
, myApiKey.value
) mais collecte l'attribut personnalisé myApiKey.foo
.
<attributes enabled="true"> <exclude>myApiKey.*</exclude> <include>myApiKey.foo</include></attributes>
Vous pouvez afficher l’attribut .NET APM sur la page d’attributs agent .NET . Vous pouvez également définir des attributs personnalisés avec l'appel d'API d'agent AddCustomAttribute
.
Options de fonctionnalité
Utilisez ces options pour activer, désactiver et configurer la fonctionnalité New Relic. New Relic pour .NET vous permet de configurer la fonctionnalité suivante :
- Pools d'applications
- Collecte d'erreurs
- Mode haute sécurité
- Supprimer les messages d'exception
- Événement de transaction
- Événements personnalisés
- Paramètres personnalisés
- Tags/étiquettes
- Instrumentation du navigateur
- Requêtes lentes
- Trace de transaction
- Traceur de datastore
- Tracing distribué
- Infinite Tracing
- Traces inter-application
- Événements de span
- Capturer les en-têtes de requête HTTP
- Logging des applications
- Métriques au niveau du code
- Fournisseur de cloud modifié
- Monitoring de l'IA
Pools d'applications
Important
Ceci s'applique uniquement au fichier de configuration global d'un système.
Important
Ce paramètre s'applique uniquement lorsque le modèle d'hébergement IIS est défini sur en cours.
L'élément applicationPools
est un enfant de l'élément configuration
. L'élément applicationPools
spécifie pour le profileur exactement quels pools application instrumenter et utilise le même nom que le nom du pool application IIS. Cet élément configuration est utile lorsque vous devez instrumenter uniquement un petit sous-ensemble de vos pools d'applications. Par exemple, un serveur donné peut avoir plusieurs centaines de pools application, mais seuls quelques-uns de ces pools doivent être instrumentés par l’ agent.NET.
Voici un exemple de désactivation instrumentation pour des pools application spécifiques :
<applicationPools> <applicationPool name="Foo" instrument="false"/> <applicationPool name="Bar" instrument="false"/></applicationPools>
Voici un exemple de désactivation de instrumentation pour tous les pools application en cours d'exécution sur le serveur et d'activation de instrumentation pour des pools application spécifiques :
<applicationPools> <defaultBehavior instrument="false"/> <applicationPool name="Foo" instrument="true"/> <applicationPool name="Bar" instrument="true"/></applicationPools>
L'élément applicationPools
prend en charge les éléments suivants :
Collecte d'erreurs
L'élément errorCollector
est un enfant de l'élément configuration
. errorCollector
configure la collecte d'erreurs, qui capture des informations sur les exceptions non détectées et les envoie à 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>
Conseil
Pour un aperçu de la configuration des erreurs dans APM, voir Gérer les erreurs dans APM.
Important
expectedClasses
Les paramètres de configuration expectedMessages
et expectedStatusCodes
nécessitent l'agent .NET version 8.31.0.0 ou supérieure.
L'élément errorCollector
prend en charge les éléments et l'attribut suivants :
Mode haute sécurité
L'élément highSecurity
est un enfant de l'élément configuration
. Pour activer le mode haute sécurité, définissez cette propriété sur true
et activez la propriété haute sécurité dans l'interface utilisateur New Relic. L'activation de la haute sécurité active SSL ; les paramètres de demande, les paramètres personnalisés et les en-têtes de demande HTTP ne sont pas collectés ; la suppression des messages d'exception est activée ; et la requête ne peut pas être envoyée à New Relic sous sa forme brute.
Supprimer les messages d'exception
L'élément stripExceptionMessages
est un enfant de l'élément configuration
. Pour activer les messages d’exception de suppression, définissez cette propriété sur true
. Par défaut, cette valeur est définie sur false, ce qui signifie que l'agent envoie les messages de toutes les exceptions au collecteur New Relic. Si vous activez le mode haute sécurité, celui-ci est automatiquement modifié sur vrai et l'agent supprime les messages des exceptions.
Événement de transaction
L'élément transactionEvents
est un enfant de l'élément configuration
. Utilisez transactionEvents
pour configurer l'événement de transaction.
<transactionEvents enabled="true" maximumSamplesStored="10000"> <attributes enabled="true"> <exclude>myApiKey.*</exclude> <include>myApiKey.foo</include> </attributes></transactionEvents>
L'élément transactionEvents
prend en charge l'attribut suivant :
Événements personnalisés
L'élément customEvents
est un enfant de l'élément configuration
. Utilisez customEvents
pour configurer l'événement personnalisé.
<customEvents enabled="true" maximumSamplesStored="10000"/>
L'élément customEvents
prend en charge l'attribut suivant :
Paramètres personnalisés
L'élément customParameters
est un enfant de l'élément configuration
. Utilisez customParameters
pour configurer le paramètre personnalisé.
<customParameters enabled="true" />
L'élément customParameters
prend en charge l'attribut suivant :
Étiquettes (tag)
L'élément labels
est un enfant de l'élément configuration
.
Cela définit les noms et les valeurs tag . La liste est une liste délimitée par des points-virgules de paires nom/valeur séparées par des deux-points. Vous pouvez également l'utiliser avec la variable d'environnement NEW_RELIC_LABELS
. Exemple:
<labels>foo:bar;zip:zap</labels>
NEW_RELIC_LABELS="foo:bar;zip:zap"
Instrumentation du navigateur
L'élément browserMonitoring
est un enfant de l'élément configuration
. browserMonitoring
configure dans votre application .NET. le navigateur vous donne des informations détaillées sur les performances de votre utilisateur final. Cela se fait en mesurant le temps qu'il faut au navigateur de votre utilisateur pour télécharger et restituer vos pages Web en injectant une petite quantité de code JavaScript dans l'en-tête et le pied de page de chaque page.
// 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>
L'élément browserMonitoring
prend en charge l'attribut suivant :
Requêtes lentes
L'élément slowSql
est un enfant de l'élément configuration
. slowSql
configure la capture d'informations sur les exécutions lentes de requêtes, et capture et obscurcit les plans explicatifs de ces requêtes.
<slowSql enabled="true"/>
L'élément slowSql
prend en charge l'attribut suivant :
Trace de transaction
L'élément transactionTracer
est un enfant de l'élément configuration
. transactionTracer
configure la trace de transaction. La trace comprend la séquence d'appel exacte des transactions, y compris toutes les instructions de requête émises.
<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>
L'élément transactionTracer
prend en charge l'attribut suivant :
Traceur de datastore
L'élément datastoreTracer
est un enfant de l'élément configuration
.
<datastoreTracer> <instanceReporting enabled="true" /> <databaseNameReporting enabled="true" /> <queryParameters enabled="false" /></datastoreTracer>
L'élément datastoreTracer
prend en charge les sous-éléments suivants :
Tracing distribué
L'élément distributedTracing
est un enfant de l'élément configuration
.
<distributedTracing enabled="false" excludeNewrelicHeader="false"/>
Le tracing distribué vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. Il nécessite agent .NET version 8.6.45.0 ou supérieure et est activé par défaut dans l'agent .NET 9.0.0.0 et supérieur.
Important
L'activation du tracing distribué désactive le tracing inter-application et a d'autres effets sur la fonctionnalité APM . Avant l'activation, lisez le guide de planification.
Pour plus d’informations sur la configuration du tracing distribué, consultez Activer le tracing distribué pour votre application .NET.
L'élément distributedTracing
prend en charge l'attribut suivant :
tracing des rapports distribués sur l'ensemble des événements. La création de rapports sur les événements Span est activée par défaut, mais le tracing distribué doit être activé pour que les événements Span soient signalés. Pour désactiver l'événement SPAN, choisissez l'une des options suivantes :
Infinite Tracing
Infinite Tracing étend le service distribué de tracing en utilisant un observateur de trace externe à l'agent. Il observe 100 % de la trace de votre application sur différents services et fournit des données exploitables afin que vous puissiez résoudre les problèmes plus rapidement.
Pour activer Infinite Tracing, assurez-vous que vous disposez de agent .NET version 8.30 ou supérieure et activez le tracing distribué. Ajoutez ensuite les paramètres supplémentaires suivants :
<configuration . . . > <distributedTracing enabled="true" /> <infiniteTracing> <trace_observer host="YOUR_TRACE_OBSERVER_HOST" /> </infiniteTracing></configuration>
Important
Les spans de Infinite Tracing peuvent être limitées par le paramètre transactionTracer.maxSegments
.
L'élément infiniteTracing
prend en charge les éléments suivants :
Traces inter-application
L'élément crossApplicationTracer
est un enfant de l'élément configuration
. crossApplicationTracer
liens tracent la transaction à travers l'application. Lorsqu'elles sont liées dans une architecture orientée services, toutes les applications instrumentées qui communiquent entre elles via HTTP « lieront » désormais la trace de transaction avec l'application qu'elles appellent et l'application par laquelle elles sont appelées. Le tracing inter-applications facilite la compréhension de la relation de performances entre les services et les applications.
Important
Le tracing inter-applications est obsolète depuis la version 9.0.0 de l'agent et désactivé par défaut. Il sera supprimé dans une future version de l'agent. Pour utiliser CAT avec la version 9+ de l'agent, vous devez définir à la fois crossApplicationTracer.enabled = true
et distributedTracing.enabled = false
. L'activation du tracing distribué désactivera le tracing inter-application.
<crossApplicationTracer enabled="true"/>
L'élément crossApplicationTracer
prend en charge l'attribut suivant :
Événements de span
L'élément spanEvents
est un enfant de l'élément configuration
. Utilisez spanEvents
pour configurer l'événement span.
<spanEvents enabled="true"> <attributes enabled="true"> <exclude>myApiKey.*</exclude> <include>myApiKey.foo</include> </attributes></spanEvents>
L'élément spanEvents
prend en charge l'attribut suivant :
Capturer les en-têtes de requête HTTP
L'élément allowAllHeaders
est un enfant de l'élément configuration
. Définissez cette valeur sur true
pour permettre à l'agent .NET de capturer tous les en-têtes de requête HTTP et de les appliquer à l'événement Span
et Transaction
en tant qu'attribut request.headers.{http-header-name}
. Définissez cette valeur sur false
pour autoriser uniquement l'agent .NET à collecter les en-têtes de requête HTTP suivants :
request.headers.referer
request.headers.accept
request.headers.content-length
request.headers.host
request.headers.user-agent
Important
Le paramètre allowAllHeaders
est uniquement disponible dans la version 8.40.0+ de l'agent .NET. Lorsque vous utilisez allowAllHeaders
pour capturer l'attribut, l'attribut d'en-tête de demande capturé est toujours contrôlé par les paramètres d'attribut de niveau racine et de niveau de destination. Sans définir le request.header.*
dans la liste include
sous l'élément attributes
(voir ci-dessous), l'agent .NET filtre toujours tous les attributs d'en-tête. La valeur par défaut newrelic.config
est définie pour inclure le request.header.*
.
<allowAllHeaders enabled="true" /><attributes enabled="true"> <include>request.headers.*</include> ...</attributes>
La valeur par défaut newrelic.config
est également définie pour exclure explicitement les en-têtes de requête HTTP suivants afin d’empêcher l’agent .NET de collecter des données indésirables.
<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 des applications
Important
Ces options de configuration sont disponibles uniquement avec les versions 9.7.1 et supérieures de l'agent .NET. Les options liées aux données de contexte (attribut personnalisé) ne sont disponibles que dans les versions agent .NET 10.4.0 et supérieures.
L'élément applicationLogging
est un enfant de l'élément configuration
. Utilisez applicationLogging
pour configurer l’instrumentation de l’activité de logging de votre application.
Il existe trois sous-fonctionnalités principales :
Métriques : collectez des métriques sur le nombre total de lignes log écrites par cycle de collecte (
Logging/lines
), ainsi que le nombre de lignes log écrites à des niveaux de logging particuliers (par exemple,Logging/lines/ERROR
).transfert de logs : lorsqu'il est activé, l'agent capture les données log et les envoie à New Relic.
- Données de contexte (via
AddCustomAttribute
) : lorsqu'elles sont activées, l'agent capture et transmet tout attribut log personnalisé. Lesinclude
exclude
éléments et sont des listes séparées par des virgules de noms d'attributs à inclure ou à exclure, suivant les mêmes règles que les autres agent d'attributs configuration. Ils sont tous deux vides par défaut, ce qui entraîne la capture et la transmission de toutes les données de contexte log . - Filtrage des niveaux de log : lorsqu'il est configuré avec un ou plusieurs niveaux de log dans une liste séparée par des virgules, l'agent empêchera la capture et la transmission des messages à ces niveaux.
- Étiquettes : lorsque cette option est activée, l’ agent ajoute des étiquettes personnalisées au log transféré par agent . Vous pouvez utiliser l'attribut
exclude
, qui est une liste de noms d'étiquettes séparés par des virgules et ne respectant pas la casse. Par défaut, l'agent ajoute des étiquettes personnalisées lorsque l'attributexclude
est vide.
- Données de contexte (via
Décoration log local : lorsqu'elle est activée, votre log existant sera décoré avec des métadonnées qui relient le log à d'autres données New Relic, telles que les erreurs.
Pour plus de détails, consultez notre documentation sur l’utilisation des logs agent .NET dans contexte.
<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>
Ces fonctionnalités peuvent également être configurées via des variables d'environnement :
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
L'élément applicationLogging
prend en charge l'attribut et les sous-éléments suivants :
Métriques au niveau du code
L'élément codeLevelMetrics
est un enfant de l'élément configuration
. Utilisez codeLevelMetrics
pour activer la prise en charge du niveau du code métrique dans CodeStream via des métadonnées de méthode instrumentale supplémentaires capturées en tant qu'attribut sur l'événement span.
Pour plus de détails, consultez notre documentation sur l'intégration de New Relic CodeStream.
<codeLevelMetrics enabled="true" />
Cela peut également être configuré via une variable d'environnement :
NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true
Fournisseur de cloud modifié
L'élément cloud
est un enfant de l'élément configuration
. Utilisez cloud
pour configurer les métadonnées du fournisseur de cloud pour votre application.
L'élément cloud
prend en charge les sous-éléments suivants :
Monitoring de l'IA
Par défaut, monitoring de l'IA est désactivée. Pour activer monitoring de l'IA, définissez l'attribut enabled
sur true
dans l'élément aiMonitoring
. L'élément aiMonitoring
est un enfant de l'élément configuration
.
Important
Lorsque cette option est activée, le monitoring de l'IA enregistrera une copie en continu des entrées et des sorties envoyées vers et depuis les modèles que vous choisissez de monitorer, y compris toutes les informations personnelles qu'ils contiennent. Lorsque vous utilisez la fonctionnalité de monitoring de l'IA, vous êtes responsable d'obtenir le consentement de l'utilisateur de votre modèle pour que son interaction puisse être enregistrée par un tiers (New Relic) dans le but de fournir la fonctionnalité de monitoring de l'IA.
<aiMonitoring enabled="true" />
Cela peut également être configuré via une variable d'environnement :
NEW_RELIC_AI_MONITORING_ENABLED=true
L'élément aiMonitoring
prend en charge les sous-éléments suivants :
Paramètres dans app.config ou web.config
Pour les applications de console ASP.NET et .NET Framework, vous pouvez également configurer les paramètres suivants dans app.config
ou web.config
de votre application, dans l'élément le plus externe, <configuration>
:
Paramètres dans appsettings.json
Pour les applications .NET Core, vous pouvez configurer les paramètres suivants dans appsettings.json
si ce qui suit est vrai :
Le fichier
appsettings.json
doit être situé dans le répertoire de travail actuel de l'application.La application doit avoir la dépendance suivante :
Important
Pour les applications ASP.NET Core, l'agent .NET lira à partir de appsettings.{environment}.json
si vous définissez la variable ASPNETCORE_ENVIRONMENT
.