# Configuration de l'instrumentation

LLMS index: [llms.txt](/llms.txt)

---

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

## Nom du service pair {#peer-service-name}

Le
[nom du service pair](/docs/specs/semconv/general/attributes/#general-remote-service-attributes)
(`peer.service`) est le nom d'un service distant auquel une connexion est
établie. Il correspond à `service.name` dans la
[ressource](/docs/specs/semconv/resource/#service) pour le service local.

<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.common.peer-service-mapping</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_COMMON_PEER_SERVICE_MAPPING</code>
</details>

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

Par exemple, si défini comme suit :

```text
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&#39;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 :

```text
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&#39;auront pas de surcharge pour l&#39;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`.
</div>


## Nettoyage des instructions de base de données {#db-statement-sanitization}

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](https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7413).

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 :

<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.common.db-statement-sanitizer.enabled</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_COMMON_DB_STATEMENT_SANITIZER_ENABLED</code>
</details>

<span class="label">Default</span>: true<br>
<span class="label">Description</span>:
Active le nettoyage des instructions de base de données.
</div>


## Capture de la télémétrie de réception de messages des consommateurs dans les instrumentations de messagerie {#capturing-consumer-message-receive-telemetry-in-messaging-instrumentations}

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 :

<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.messaging.experimental.receive-telemetry.enabled</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_MESSAGING_EXPERIMENTAL_RECEIVE_TELEMETRY_ENABLED</code>
</details>

<span class="label">Default</span>: false<br>
<span class="label">Description</span>:
Active la télémétrie de réception de messages des consommateurs.
</div>


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 {#capturing-enduser-attributes}

Vous pouvez configurer l'agent pour capturer les
[attributs d'identité généraux](/docs/specs/semconv/registry/attributes/enduser/)
(`enduser.id`, `enduser.role`, `enduser.scope`) des bibliothèques
d'instrumentation comme
[JavaEE/JakartaEE Servlet](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/servlet)
et
[Spring Security](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/spring/spring-security-config-6.0).

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

<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.common.enduser.id.enabled</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_COMMON_ENDUSER_ID_ENABLED</code>
</details>

<span class="label">Default</span>: false<br>
<span class="label">Description</span>:
Détermine s&#39;il faut capturer l&#39;attribut sémantique `enduser.id`.
</div>


<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.common.enduser.role.enabled</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_COMMON_ENDUSER_ROLE_ENABLED</code>
</details>

<span class="label">Default</span>: false<br>
<span class="label">Description</span>:
Détermine s&#39;il faut capturer l&#39;attribut sémantique `enduser.role`.
</div>


<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.common.enduser.scope.enabled</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_COMMON_ENDUSER_SCOPE_ENABLED</code>
</details>

<span class="label">Default</span>: false<br>
<span class="label">Description</span>:
Détermine s&#39;il faut capturer l&#39;attribut sémantique `enduser.scope`.
</div>


### Spring Security {#spring-security}

Pour les utilisateurs de Spring Security qui utilisent des
[préfixes d'autorité accordée (granted authority prefixes)](https://docs.spring.io/spring-security/reference/servlet/authorization/architecture.html#authz-authorities)
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 :

<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.spring-security.enduser.role.granted-authority-prefix</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_SPRING_SECURITY_ENDUSER_ROLE_GRANTED_AUTHORITY_PREFIX</code>
</details>

<span class="label">Default</span>: ROLE_<br>
<span class="label">Description</span>:
Préfixe des autorités accordées identifiant les rôles à capturer dans
l&#39;attribut sémantique `enduser.role`.
</div>


<div class="config-option">
<details>
  <summary title="Expand to view environment variable">
    <span class="label">System property</span>:
      <code>otel.instrumentation.spring-security.enduser.scope.granted-authority-prefix</code>
  </summary>
  <span class="label">Environment variable</span>:
    <code>OTEL_INSTRUMENTATION_SPRING_SECURITY_ENDUSER_SCOPE_GRANTED_AUTHORITY_PREFIX</code>
</details>

<span class="label">Default</span>: SCOPE_<br>
<span class="label">Description</span>:
Préfixe des autorités accordées identifiant les portées à capturer dans
l&#39;attribut sémantique `enduser.scopes`.
</div>

---

Section pages:

- [Configuration de l'instrumentation HTTP](/fr/docs/zero-code/java/agent/instrumentation/http/)
