Configuration de l'instrumentation

Cette page décrit les paramètres courants qui s’appliquent à plusieurs instrumentations à la fois.

Nom du service pair

Le nom du service pair (peer.service) est le nom d’un service distant auquel une connexion est établie. Il correspond à service.name dans la ressource pour le service local.

System property: otel.instrumentation.common.peer-service-mappingEnvironment variable: OTEL_INSTRUMENTATION_COMMON_PEER_SERVICE_MAPPING

Description: Utilisé pour spécifier une correspondance entre les noms d'hôte ou les adresses IP avec les services pairs, sous forme de liste séparée par des virgules <host_or_ip>=<user_assigned_name>. Le service pair est ajouté comme attribut à un span dont l'hôte ou l'adresse IP correspond à cette relation de pairs.

Par exemple, si défini comme suit :

1.2.3.4=cats-service,dogs-abcdef123.serverlessapis.com=dogs-api

Alors, les requêtes vers 1.2.3.4 auront un attribut peer.service égal à cats-service et les requêtes vers dogs-abcdef123.serverlessapis.com auront un attribut égal à dogs-api.

Depuis la version 1.31.0 de l'agent Java, il est possible de fournir un port et un chemin pour définir un peer.service.

Par exemple, si défini comme suit :

1.2.3.4:443=cats-service,dogs-abcdef123.serverlessapis.com:80/api=dogs-api

Alors, les requêtes vers 1.2.3.4 n'auront pas de surcharge pour l'attribut peer.service, tandis que 1.2.3.4:443 aura un peer.service égal à cats-service et les requêtes vers dogs-abcdef123.serverlessapis.com:80/api/v1 auront un attribut égal à dogs-api.

Nettoyage des instructions de base de données

L’agent nettoie toutes les requêtes/instructions de base de données avant de définir l’attribut sémantique db.statement. Toutes les valeurs (chaînes de caractères, nombres) dans la chaîne de requête sont remplacées par un point d’interrogation (?).

Note : Si vous cherchez à capturer les paramètres de liaison JDBC, ils ne sont pas capturés dans db.statement. Voir le problème correspondant.

Exemples :

  • La requête SQL SELECT a from b where password="secret" apparaîtra comme SELECT a from b where password=? dans le span exporté ;
  • La commande Redis HSET map password "secret" apparaîtra comme HSET map password ? dans le span exporté.

Ce comportement est activé par défaut pour toutes les instrumentations de base de données. Utilisez la propriété suivante pour le désactiver :

System property: otel.instrumentation.common.db-statement-sanitizer.enabledEnvironment variable: OTEL_INSTRUMENTATION_COMMON_DB_STATEMENT_SANITIZER_ENABLED

Default: true
Description: Active le nettoyage des instructions de base de données.

Capture de la télémétrie de réception de messages des consommateurs dans les instrumentations de messagerie

Vous pouvez configurer l’agent pour capturer la télémétrie de réception de messages des consommateurs dans l’instrumentation de messagerie. Utilisez la propriété suivante pour l’activer :

System property: otel.instrumentation.messaging.experimental.receive-telemetry.enabledEnvironment variable: OTEL_INSTRUMENTATION_MESSAGING_EXPERIMENTAL_RECEIVE_TELEMETRY_ENABLED

Default: false
Description: Active la télémétrie de réception de messages des consommateurs.

Notez que cela amènera le côté consommateur à démarrer une nouvelle trace, avec seulement un lien de span le connectant à la trace du producteur.

Note : Les noms de propriété/variable d’environnement listés dans le tableau sont encore expérimentaux, et sont donc susceptibles de changer.

Capture des attributs de l’utilisateur final

Vous pouvez configurer l’agent pour capturer les attributs d’identité généraux (enduser.id, enduser.role, enduser.scope) des bibliothèques d’instrumentation comme JavaEE/JakartaEE Servlet et Spring Security.

Note : Étant donné la nature sensible des données impliquées, cette fonctionnalité est désactivée par défaut tout en permettant une activation sélective pour des attributs particuliers. Vous devez évaluer attentivement les implications de chaque attribut en matière de confidentialité avant d’activer la collecte de ces données.

System property: otel.instrumentation.common.enduser.id.enabledEnvironment variable: OTEL_INSTRUMENTATION_COMMON_ENDUSER_ID_ENABLED

Default: false
Description: Détermine s'il faut capturer l'attribut sémantique enduser.id.

System property: otel.instrumentation.common.enduser.role.enabledEnvironment variable: OTEL_INSTRUMENTATION_COMMON_ENDUSER_ROLE_ENABLED

Default: false
Description: Détermine s'il faut capturer l'attribut sémantique enduser.role.

System property: otel.instrumentation.common.enduser.scope.enabledEnvironment variable: OTEL_INSTRUMENTATION_COMMON_ENDUSER_SCOPE_ENABLED

Default: false
Description: Détermine s'il faut capturer l'attribut sémantique enduser.scope.

Spring Security

Pour les utilisateurs de Spring Security qui utilisent des préfixes d’autorité accordée (granted authority prefixes) personnalisés, vous pouvez utiliser les propriétés suivantes pour supprimer ces préfixes des valeurs d’attribut enduser.* afin de mieux représenter les noms de rôle et de portée réels :

System property: otel.instrumentation.spring-security.enduser.role.granted-authority-prefixEnvironment variable: OTEL_INSTRUMENTATION_SPRING_SECURITY_ENDUSER_ROLE_GRANTED_AUTHORITY_PREFIX

Default: ROLE_
Description: Préfixe des autorités accordées identifiant les rôles à capturer dans l'attribut sémantique enduser.role.

System property: otel.instrumentation.spring-security.enduser.scope.granted-authority-prefixEnvironment variable: OTEL_INSTRUMENTATION_SPRING_SECURITY_ENDUSER_SCOPE_GRANTED_AUTHORITY_PREFIX

Default: SCOPE_
Description: Préfixe des autorités accordées identifiant les portées à capturer dans l'attribut sémantique enduser.scopes.


Dernière modification August 4, 2025: [fr] Translation of Zero Code Java docs (#7389) (a409f82a)