• /
  • 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 Java : fichier de configuration

L'agent Java New Relic lit sa configuration à partir du fichier newrelic.yml . Par défaut, l'agent recherche ce fichier dans le répertoire qui contient newrelic.jar. Vous pouvez remplacer l'emplacement du fichier de configuration en définissant la propriété système newrelic.config.file sur un nom de fichier complet.

You'll be able to configure our Java agent to suit your environment after you create a New Relic account (it's free, forever) and install the Java agent.

Structure du fichier de configuration

Le fichier newrelic.yml comporte des sections distinctes pour différents environnements :

  • Test
  • Développement
  • Simulation
  • Production (par défaut)

New Relic applique les paramètres de la section common à chacun de ces environnements. Vous pouvez sélectionner d’autres environnements par défaut en définissant la propriété système newrelic.environment sur le nom de l’environnement.

Conseil

Un modèlenewrelic.yml est disponible.

Si vous éditez newrelic.yml, veillez à respecter le format YAML. Utilisez un validateur YAML pour vous assurer que la syntaxe est exacte avant d'utiliser le fichier avec l'agent Java de New Relic et suivez ces règles :

Java agent newrelic.yml

Requirements

Format

Les fichiers YML sont sensibles à la casse.

Indentations

Toutes les indentations doivent être incrémentées de deux caractères. D’autres indentations entraîneront une erreur Unable to parse configuration file au démarrage de l’agent.

  • Utilisez le même niveau d’indentation pour les données de la même section du fichier.
  • Indentez chaque sous-section de deux espaces supplémentaires.

Modifications apportées au fichier

Vous devez redémarrer votre processus hôte JVM pour que les modifications prennent effet.

Exception: Les modifications de propriété apportées à log_level et audit_mode ne nécessitent pas de redémarrage. Les modifications de propriété sous disjoncteur ne nécessitent pas de redémarrage.

Priorité des paramètres de configuration

Pour remplacer un paramètre dans le fichier de configuration, utilisez une propriété système override. Dans certains environnements, les variables d'environnement peuvent également être utilisées pour remplacer à la fois le fichier de configuration et les propriétés système. Les variables d'environnement existent principalement pour prendre en charge Heroku. Lorsqu'elle est utilisée, la configuration côté serveur remplace tous les autres paramètres de configuration.

java-config-order.png

Avec l'agent Java, la configuration côté serveur remplace tous les autres paramètres. Les variables d’environnement remplacent les propriétés du système Java. Les propriétés Java remplacent les paramètres de configuration utilisateur dans votre fichier newrelic.yml . Les paramètres utilisateur remplacent les paramètres par défaut newrelic.yml .

Configuration du répertoire des extensions Java

L'agent Java lit les fichiers de configuration au démarrage du processus. Pour identifier le répertoire dans lequel se trouvent les fichiers, créez un nouveau répertoire d'extensions ou spécifiez un répertoire d'extensions existant :

Paramètres de configuration générale

Définissez ces options dans la section common . Pour remplacer l’une de ces options, utilisez une propriété système préfixée par newrelic.config .

Variables d'environnement

Les variables d'environnement ont la plus haute priorité et remplacent les propriétés système et les paramètres de configuration YML.

  • Pour définir des variables d’environnement, utilisez la commande export VARNAME=value .
  • Pour définir de manière permanente les variables d'environnement, ajoutez la ligne d'exportation à un fichier tel que ~/.bashrc ou ~/.bash_profile.

Vous pouvez remplacer n’importe quel paramètre d’une propriété système ou dans newrelic.yml en définissant une variable d’environnement. La variable d'environnement correspondant à un paramètre donné dans le fichier de configuration est le nom du paramètre préfixé par NEW_RELIC avec tous les points (.) et les tirets (-) remplacés par des traits de soulignement (_). Par exemple, la variable d’environnement pour le paramètre log_level est NEW_RELIC_LOG_LEVEL.

Pour les paramètres imbriqués dans des sections, ajoutez le nom de la section au nom du paramètre. Par exemple:

class_transformer:
com.newrelic.instrumentation.kafka-clients-spans-0.11.0.0:
enabled: true

La configuration ci-dessus se convertirait en la variable d'environnement suivante : NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_KAFKA_CLIENTS_SPANS_0_11_0_0_ENABLED

Important

La configuration de l'agent via des variables d'environnement nécessite l'agent Java version 4.10.0 ou supérieure.

Propriétés du système

Vous pouvez remplacer n’importe quel paramètre du fichier newrelic.yml en définissant une propriété système. La propriété système correspondant à un paramètre donné dans le fichier de configuration est le nom du paramètre préfixé par newrelic.config. Par exemple, la propriété système pour le paramètre log_level est newrelic.config.log_level.

Pour les paramètres imbriqués dans des sections, ajoutez le nom de la section au nom du paramètre. Par exemple, la propriété système pour le paramètre enabled dans la section transaction_tracer est newrelic.config.transaction_tracer.enabled.

En plus de remplacer les paramètres de configuration, l'agent reconnaît ces propriétés système :

Monitoring de l'IA

Cette section détaille les agent Java configuration options pour monitoring de l'IA. Cette fonctionnalité peut être configurée dans la strophe du fichier de configuration yaml ai_monitoring, avec des propriétés système préfixées newrelic.config.ai_monitoring. ou avec des variables d'environnement préfixées NEW_RELIC_AI_MONITORING_ .

Important

Si le tracing distribué est désactivé ou si le mode haute sécurité est activé, monitoring de l'IA ne collectera pas de données AI.

Important

Lorsque cette option est activée, monitoring de l'IA enregistre 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. 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 d'assurer la monitoring de la fonctionnalité IA.

Attributs

Pour définir ces options, utilisez la section attributes . Pour les remplacer, utilisez une propriété système préfixée par newrelic.config.attributes .

Les attributs sont des paires valeur clé liées à la trace de transaction, aux erreurs de trace, à et à l'événement de transaction. Il y a une section attribute sous chaque destination. Pour plus d'informations, voir agent Java Attribut, Activation et désactivation de l'attribut et Exemples d'attribut.

Instrumentation asynchrone

Ces options sont définies directement dans la section common et peuvent être remplacées en utilisant une propriété système préfixée.

Monitoring de navigateurs

Ces options sont définies dans la section browser_monitoring et peuvent être remplacées en utilisant une propriété système préfixée par newrelic.config.browser_monitoring .

monitoring des navigateurs vous donne des informations détaillées sur les performances réelles des utilisateurs avec votre site Web. 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.

Disjoncteur

Ces paramètres personnalisent le comportement du disjoncteur Java. Ces paramètres ne sont pas inclus dans newrelic.yml par défaut. Vous n'avez pas besoin de redémarrer votre JVM après les avoir modifiés.

Si vous souhaitez personnaliser le disjoncteur, ajoutez-le sous la section common :

common: &default_settings​
OTHER_CONFIG_SETTINGS
circuitbreaker:
enabled: true
memory_threshold: 20
gc_cpu_threshold: 10

Configuration du cloud

Définissez les options liées au cloud, dans la section cloud du YAML de l'agent. Vous pouvez remplacer ces paramètres par une propriété système préfixée newrelic.config.cloud ou une variable d'environnement préfixée NEW_RELIC_CLOUD_ .

Un exemple de configuration :

cloud:
aws:
account_id: 123456789012

Utilisation de la plateforme cloud

Définissez les paramètres d’utilisation de la plateforme cloud dans la section utilization et pouvez les remplacer par la propriété système préfixée newrelic.config.utilization .

L'agent collecte les informations d'utilisation et les envoie au service New Relic. L'agent peut collecter des informations à partir d'Amazon Web Services (AWS), Azure, Google Cloud Platform et d'une instance Pivotal Cloud Foundry. Il collectera également des informations liées au conteneur Docker et aux services Kubernetes .

Métriques au niveau du code

niveau du code métriques vous donne des informations détaillées sur les performances de votre code au niveau de la méthode. Vous verrez des métriques pour chaque méthode qui a été instrumentée automatiquement, ou qui a été instrumentée par l'annotation @Trace.

Définissez les options de métriques au niveau du code dans la section code_level_metrics . Ils peuvent être remplacés par une propriété système préfixée newrelic.config.code_level_metrics .

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 tags.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 tags.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 tags.commit sur les données d'événement contenant le commit sha. Vous pouvez utiliser le SHA entier ou simplement 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. Les données de version s'afficheront dans CodeStream.

Traceur inter-application

Important

Le tracing inter-applications est obsolète à partir de la version 7.4.0 de l'agent et sera supprimé dans une future version de l'agent.

Au lieu d'utiliser le tracing inter-application, nous recommandons notre fonctionnalité de tracing distribué . tracing distribué est une amélioration de la fonctionnalité de tracing inter-applicationet est recommandé pour les grands systèmes distribués.

Définissez les options de tracing inter-applications dans la section cross_application_tracer . Ces paramètres peuvent être remplacés par une propriété système préfixée newrelic.config.cross_application_tracer .

Le tracing inter-application ajoute des en-têtes de demande et de réponse aux appels externes à l'aide de la bibliothèque Apache HttpClient. Cela fournit de meilleures données de performances lors de l'appel du moniteur d'application par un autre agent New Relic .

Événements personnalisés

Définissez les paramètres de l'événement personnalisé dans la section custom_insights_events . Vous pouvez remplacer ces paramètres par une propriété système préfixée par newrelic.config.custom_insights_events .

APM vous permet d'enregistrer des données d'événements personnalisés via agent APIl'de de langage New Relic, que vous pouvez ensuite requêter .

Important

Pour les versions d'agent Java antérieures à 4.1.0, la configuration YAML suivante est reconnue :

custom_insights_events.enabled: true
custom_insights_events.max_samples_stored: 5000

Pour les versions d'agent 4.1.0 et au-dessus, la configuration YAML utilise le formatage de section imbriquée :

custom_insights_events:
enabled: false
max_samples_stored: 5000

Transformateur de classe

Définissez les paramètres liés à l’instrumentation dans la section class_transformer . Vous pouvez remplacer ces paramètres par une propriété système préfixée newrelic.config.class_transformer ou une variable d'environnement préfixée NEW_RELIC_CLASS_TRANSFORMER_ .

Tracing distribué

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

Nécessite l'agent Java version 4.3.0 ou supérieure.

Le tracing distribué vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. Il est activé par défaut pour l'agent Java version 7.4.0 ou supérieure.

Dans le fichier de configuration, vous pouvez remplacer cela manuellement dans la section distributed_tracing . Vous pouvez également remplacer cela en utilisant une propriété système préfixée (newrelic.config.distributed_tracing) ou une variable d'environnement (NEW_RELIC_DISTRIBUTED_TRACING_ENABLED). Voir les exemples ci-dessous.

Pour plus d'informations sur la configuration du tracing distribué, voir Activer le tracing distribué pour votre application Java .

Collecteur d'erreur

Définissez les paramètres du collecteur d’erreurs dans la section error_collector . Sauf indication contraire, vous pouvez remplacer ces paramètres par une propriété système préfixée par newrelic.config.error_collector . Le collecteur d'erreurs capture des informations sur les exceptions non détectées et les envoie à New Relic pour affichage.

Conseil

Pour savoir comment configurer les erreurs pour l'agent Java, notamment comment configurer les erreurs via l'UI, consultez configuration d'erreur de l'agent Java.

Traceur externe

Définissez les options de tracing externe dans la section external_tracer . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.external_tracer .

Configuration du nom d'hôte

Définissez les options de configuration du nom d’hôte dans la section process_host . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.process_host .

Utilisez ces propriétés pour configurer le nom d'hôte affiché dans l'UI:

Infinite Tracing

Important

Exigences:

Pour activer Infinite Tracing, activez le tracing distribué et ajoutez le paramètre supplémentaire ci-dessous. Pour un exemple, voir Agent de langage : Configurer le tracing distribué.

Instrumentation

Ces options sont définies dans la strophe instrumentation et peuvent être remplacées en utilisant une propriété système préfixée newrelic.config.instrumentation .

Collecteur Jar

L'agent Java collecte des informations sur les fichiers JAR et leurs versions sur le chemin de classe de l'application.

Définissez la configuration de la collection jar dans la section jar_collector . Ces options de configuration peuvent être remplacées par une propriété système préfixée newrelic.config.jar_collector . Les options incluent :

JFR (Profilage en temps réel)

L'agent Java utilise Java Flight Recorder (JFR) pour collecter des données JVM haute fidélité pour le profilage en temps réel.

Configurez le profilage en temps réel dans la section jfr du YAML de l'agent. Ces options de configuration peuvent être remplacées par des propriétés système préfixées par newrelic.config.jfr. ou par des variables d'environnement préfixées par NEW_RELIC_JFR_.

JMX

Pour définir ces options, utilisez la section jmx . Pour les remplacer, utilisez une propriété système préfixée par newrelic.config.jmx .

L'agent Java utilise JMX pour collecter les données JVM. De plus, l'agent peut exposer des métadonnées de liaison via JMX qui peuvent être utilisées par d'autres systèmes de tracing.

JVM des propriétés obfuscation

L'agent Java envoie les propriétés JVM à New Relic pour les afficher dans l'UI. À partir de la version 8.16.0 de l'agent Java, les valeurs de la plupart des propriétés seront obscurcies. Par exemple : -Dprop=12345 sera désormais envoyé sous la forme -Dprop=obfuscated.

Définissez les options liées à l'obfuscation, dans la section obfuscate_jvm_props du YAML de l'agent. Vous pouvez remplacer ces paramètres par une propriété système préfixée newrelic.config.obfuscate_jvm_props ou une variable d'environnement préfixée NEW_RELIC_OBFUSCATE_JVM_PROPS_ .

Par défaut, les valeurs des propriétés commençant par -X ne seront pas obscurcies.

Kafka fichier d'attente des messages

Des informations détaillées sur la configuration d'instrumentation Kafka peuvent être trouvées sur la page Instrumenter les files d'attente des messages Kafka.

Les logs en contexte

À partir de la version 7.6.0 agent Java, la prise en charge des logs en contexte a été ajoutée à l'agent, le rendant facile à utiliser pour le framework de logging pris en charge. Pour des conseils sur l'utilisation de l'agent Java pour les logs en contexte, voir Java logs en contexte.

La modification de ces paramètres dans votre fichier de configuration d'agent local se produit de manière dynamique et ne nécessite pas de redémarrage de l'agent pour que ces modifications prennent effet. Un exemple de configuration :

application_logging:
enabled: true
forwarding:
enabled: true
max_samples_stored: 10000
labels:
enabled: false
exclude:
context_data:
enabled: false
include:
exclude:
metrics:
enabled: true
local_decorating:
enabled: false

Définissez les logs dans le contexte configuration dans la section application_logging. Cela peut être remplacé par une propriété système préfixée par newrelic.config.application_logging . La seule option disponible est :

Transfert de logs

Si vous utilisez un framework de logging pris en charge et que vous souhaitez utiliser l'agent pour envoyer votre log d'application à New Relic, vous pouvez contrôler cela via les paramètres de la section forwarding. Ces paramètres peuvent être remplacés par la propriété système préfixée newrelic.config.application_logging.forwarding . Les options disponibles sont :

Étiquettes de log (tags)

L'agent Java prend en charge l'ajout d'étiquettes personnalisées (tag) aux logs transmis par l'agent. Les étiquettes proviennent de la section étiquettes au niveau supérieur de la configuration de l'agent. Cette fonctionnalité peut être activée dans la section labels , imbriquée sous la section forwarding . Vous pouvez remplacer ces paramètres à l’aide de la propriété système préfixée newrelic.config.application_logging.forwarding.labels . Les options disponibles incluent :

Données de contexte du log

L'agent Java peut capturer des données de contexte (Mapped Diagnostic Context dans logback/slf4j, ThreadContext dans log4j2) et ajouter son contenu comme attribut dans le log transmis à New Relic. Vous pouvez contrôler cela via les paramètres de la section context_data, imbriquée sous la section forwarding . Ces paramètres peuvent être remplacés par la propriété système préfixée newrelic.config.application_logging.forwarding.context_data . Les options disponibles sont :

Métriques de Log

En plus de vous permettre de décorer et d'envoyer des lignes log individuelles, l'agent Java peut capturer des données métriques de logging. Vous pouvez trouver ces données dans le graphique du log dans l'UI de New Relic. Vous pouvez configurer les paramètres des métriques log dans la section metrics. Vous pouvez remplacer ces paramètres avec la propriété système préfixée newrelic.config.application_logging.metrics . La seule option disponible est :

Décoration de logs

Vous pouvez configurer les paramètres de décoration log dans la section local_decorating. Vous pouvez l'utiliser pour contrôler la manière dont les lignes log locales sont décorées. Vous pouvez remplacer ces paramètres par une propriété système préfixée par newrelic.config.application_logging.local_decorating . La seule option disponible est :

Configuration du logging

Ceux-ci font partie des variables de configuration générales. Ils sont présentés ici car ils sont fréquemment modifiés à des fins de débogage.

Certaines des variables de configuration de logging sont dynamiques et ne nécessitent pas de redémarrage de l'hôte pour prendre effet. Par instance, si les fichiers log augmentent trop rapidement, log_level peut être défini sur un paramètre moins détaillé pour réduire le taux de rapports.

Voici l'ordre de priorité et l'explication des variables configuration affectant la rotation log .

  • Si log_daily est true:

    • Une valeur log_limit_in_kbytes supérieure à zéro entraînera une politique de déclenchement composite, où le log sera renouvelé une fois par jour ou lorsque la taille définie sera atteinte, conservant jusqu'à log_file_count fichiers
    • Une valeur log_limit_in_kbytes de zéro entraînera un roulement du log une fois par jour conservant jusqu'à log_file_count fichiers
  • Si log_daily est false et log_limit_in_kbytes > 0, une politique basée sur la taille sera configurée, où les logs seront reconduits lorsque la taille définie sera atteinte, conservant jusqu'à log_file_count fichiers

  • Si log_daily est false et log_limit_in_kbytes = 0, aucune logique de roulement de fichier de log ne sera configurée

En fonction du taux de croissance, il est possible que la taille du fichier log dépasse légèrement la valeur configurée.

Traceur de messages

Définissez les options du traceur de messages dans la section message_tracer . Vous pouvez remplacer ces paramètres par une propriété système préfixée par newrelic.config.message_tracer .

SDK Open télémétrie Auto-configuration

Configuration pour l'instrumentation de configuration automatique du SDK de télémétrie ouvert sous la section :

opentelemetry:
sdk:
autoconfigure:

Agent de sécurité

New Relic sécurité agent interactif de test de sécurité des (IAST) de New Relic Security teste votre application pour détecter toute vulnérabilité exploitable en rejouant la requête HTTP générée avec une charge vulnérable.

Important

Exécutez IAST avec une déploiement de non-production uniquement pour éviter d'exposer les vulnérabilités de votre logiciel de production.

Vous pouvez définir la configuration de l'agent de sécurité New Relic dans la section security . Ces paramètres peuvent être remplacés par une propriété système préfixée par newrelic.config.security . Les options incluent :

Important

Le mode Tests interactifs de sécurité des applications ( )New Relic Security nécessite agent IAST agent Java version 8.4.0 ou supérieure .

Détection de transaction lente

L'agent peut désormais détecter les transactions lentes via l'événement SlowTransaction depuis la version Java de l'agent 8.7.0. Ces événements sont enregistrés lorsque la durée de la transaction dépasse un certain seuil. Par défaut, le seuil est de 600 000 millisecondes (10 minutes).

La détection des transactions lentes est définie dans slow_transactions et peut être remplacée en utilisant une propriété système préfixée newrelic.config.slow_transactions . Les options incluent :

Événements de span

Span événement sont signalés pour tracing distribué. Vous devez activer le tracing distribué pour signaler l'événement span.

Définissez configuration de l'événement span dans la section span_events. Ces paramètres peuvent être remplacés par une propriété système préfixée par newrelic.config.span_events . Les options incluent :

Important

Le filtrage des attributs Span événement nécessite agent Java version 4.10.0 ou supérieure.

Exceptions aux bandes

Définissez les options d’exceptions de bande dans la section strip_exception_messages . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.strip_exception_messages . Activez ce paramètre pour contrôler si les messages d’exception Java sont signalés à New Relic.

Profileur de filetage

Définissez les options du profileur de thread dans la section thread_profiler . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.thread_profiler .

Le profileur de thread mesure le temps d'horloge, le temps CPU et le nombre d'appels de méthode dans les threads de votre application pendant leur exécution.

Événement de transaction

Définissez les options de l’événement de transaction dans la section transaction_events . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.transaction_events .

Les données d'événement de transaction sont utilisées pour afficher l'histogramme et le centile dans l'UI.

Important

Auparavant, cette section s'appelait analytics_events. Si votre fichier de configuration utilise toujours analytics_events, mettez à jour votre agent pour utiliser transaction_events.

Segments de transaction

Définissez les options des segments de transaction dans la section transaction_segments . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.transaction_segments .

Les segments de transaction représentent des éléments de travail discrets (généralement des appels de méthode) et sont affichés dans la trace de transaction.

Important

Le filtrage des attributs de segment de transaction nécessite agent Java version 4.10.0 ou supérieure.

Traceur de transaction

Définissez les options du traceur de transaction dans la section transaction_tracer . Ces options peuvent être remplacées par une propriété système préfixée newrelic.config.transaction_tracer .

Le tracing des transactions capture des informations détaillées sur les transactions lentes et les envoie au service New Relic. La transaction comprend la séquence d'appel exacte des transactions, y compris toutes les instructions de requête émises.

Important

N'utilisez pas de crochets [suffix] à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses (suffix) ou d’autres symboles si nécessaire.

Droits d'auteur © 2025 New Relic Inc.

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