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-mapping
Environment 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 commeSELECT a from b where password=?
dans le span exporté ; - La commande Redis
HSET map password "secret"
apparaîtra commeHSET 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.enabled
Environment 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.enabled
Environment 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.enabled
Environment 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.enabled
Environment 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.enabled
Environment 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-prefix
Environment 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-prefix
Environment 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
.
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!