• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Configuration de l'agent .NET

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 :

New Relic .NET agent configuration settings precedence

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

web.config ou app.config ou appsettings.json

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 newrelic.config:

  • Les paramètres NewRelic.AgentEnabled dans appsettings.json will enable the agent.
  • Les paramètres NewRelic.AgentEnabled dans un fichier web.config ou app.config will be ignored.

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 newrelic.config

Quatrième priorité la plus élevée. Vous pouvez créer des fichiers newrelic.config locaux pour configurer des applications individuelles sur un système multi-applications. Ces fichiers de configuration locaux remplacent les paramètres du fichier global newrelic.config .

L'agent recherche les fichiers de configuration locaux de l'application dans les répertoires suivants, dans cet ordre :

  • Un répertoire spécifié dans votre fichier web.config ou app.config avec la propriété NewRelic.ConfigFile

  • Le répertoire racine de l'application Web (avec le app.config ou web.config)

  • Le répertoire contenant le fichier exécutable de votre application

    Notez que le fichier de configuration local de l'application doit être complet et validé par rapport au fichier XSD (par exemple, à C:\ProgramData\New Relic\.NET Agent\newrelic.xsd pour Windows).

Par défaut (global) newrelic.config

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 : %PROGRAMDATA%\New Relic\.NET Agent

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_KEY
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_INFINITE_TRACING_TRACE_OBSERVER_HOST=myhost.infinitetracing.com
NEW_RELIC_LABELS="foo:bar;zip:zap"
NEW_RELIC_PROCESS_HOST_DISPLAY_NAME=Custom Name
NEW_RELIC_HOST=gov-collector.newrelic.com
NEW_RELIC_PROXY_HOST=hostname
NEW_RELIC_PROXY_URI_PATH=path/to/something.aspx
NEW_RELIC_PROXY_PORT=5000
NEW_RELIC_PROXY_USER=YOUR_USER_NAME
NEW_RELIC_PROXY_PASS=YOUR_PROXY_PASSWORD
NEW_RELIC_PROXY_DOMAIN=mydomain.com
NEW_RELIC_PROXY_PASS_OBFUSCATED=YOUR_OBFUSCATED_PROXY_PASSWORD
NEW_RELIC_CONFIG_OBSCURING_KEY=YOUR_OBSCURING_KEY
NEW_RELIC_SEND_DATA_ON_EXIT=true
NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS=2000
NEW_RELIC_HIGH_SECURITY=true
NEW_RELIC_DISABLE_SAMPLERS=true
NEW_RELIC_LOG=MyApp.log
NEW_RELIC_LOG_ENABLED=true
NEWRELIC_LOG_LEVEL=info
NEW_RELIC_LOG_CONSOLE=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.
NEW_RELIC_LOG_ROLLING_STRATEGY=day
NEW_RELIC_LOG_MAX_FILE_SIZE_MB=100
NEW_RELIC_LOG_MAX_FILES=2
NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES=401, 403.18
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES=401, 501-503
NEW_RELIC_APPLICATION_LOGGING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true
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="debug, warn"
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true
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
NEW_RELIC_UTILIZATION_DETECT_AZURE=true
NEW_RELIC_UTILIZATION_DETECT_GCP=true
NEW_RELIC_UTILIZATION_DETECT_PCF=true
NEW_RELIC_UTILIZATION_DETECT_DOCKER=true
NEW_RELIC_UTILIZATION_DETECT_KUBERNETES=true
NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD=true
NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true
NEW_RELIC_AI_MONITORING_ENABLED=true
NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED=true
NEW_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'é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 :

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

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

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

  1. 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).

  2. 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é. Les include 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'attribut exclude est vide.
  3. 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=true
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true
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="debug, warn"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_ENABLED=true
NEW_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 :

Important

Pour les applications ASP.NET Core, l'agent .NET lira à partir de appsettings.{environment}.json si vous définissez la variable ASPNETCORE_ENVIRONMENT.

Droits d'auteur © 2025 New Relic Inc.

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