

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exportation de données télémétriques sans collecteur à l'aide du SDK AWS Distro for (ADOT) OpenTelemetry
<a name="CloudWatch-OTLP-UsingADOT"></a>

Vous pouvez utiliser l'ADOT SDKs pour passer à l'absence de collecteur et pour envoyer des métriques, des traces et des journaux directement aux points de terminaison OTLP.

**Note**  
La vigie applicative inclut des fonctionnalités de recherche de transactions. Afin d’éviter les coûts supplémentaires, désactivez la vigie applicative dans le kit SDK ADOT et conservez `OTEL_AWS_APPLICATION_SIGNALS_ENABLED` défini sur false (paramètre par défaut). 

**Topics**
+ [Prérequis](#CloudWatch-OTLP-UsingADOT-Prerequisite)
+ [Configurer les autorisations IAM pour votre rôle](#setup-iam-permissions-role)
+ [Configurer vos fournisseurs d’informations d’identification](#configure-credentials-providers)
+ [Activation d'ADOT SDKs](#Enabling-ADOT)

## Prérequis
<a name="CloudWatch-OTLP-UsingADOT-Prerequisite"></a>

Si vous utilisez des traces, assurez-vous que Transaction Search est activé pour envoyer des spans au point de terminaison OTLP X-Ray. Pour plus d’informations, consultez [Démarrer avec la recherche de transactions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search-getting-started.html).

## Configurer les autorisations IAM pour votre rôle
<a name="setup-iam-permissions-role"></a>

Suivez ces étapes pour associer les politiques IAM nécessaires à votre rôle :

**Suivis :**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Sélectionnez **Rôles**, puis recherchez et sélectionnez votre rôle configuré.

1. Sous l’onglet **Autorisations**, sélectionnez **Ajouter des autorisations**, puis **Associer des politiques**.

1. À l’aide de la zone de recherche, recherchez `AWSXrayWriteOnlyPolicy`.

1. Sélectionnez la politique `AWSXrayWriteOnlyPolicy`, puis choisissez **Ajouter des autorisations**.

**Journaux :**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Sélectionnez **Rôles**, puis recherchez et sélectionnez votre rôle configuré.

1. Sous l’onglet **Autorisations**, sélectionnez **Ajouter des autorisations**, puis **Créer une politique en ligne**.

1. Sélectionnez **CloudWatch Journaux** pour le service, puis sous **Actions autorisées**, filtrez et sélectionnez :

   ```
   logs:PutLogEvents
   logs:DescribeLogGroups
   logs:DescribeLogStreams
   ```

1. Voici un exemple de politique IAM qui accorde les autorisations requises :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CloudWatchLogsAccess",
               "Effect": "Allow",
               "Action": [
                   "logs:PutLogEvents",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams"
                  
               ],
               "Resource": [
                   "arn:aws:logs:*:*:log-group:*"
               ]
           }
       ]
   }
   ```

------

## Configurer vos fournisseurs d’informations d’identification
<a name="configure-credentials-providers"></a>

ADOT utilise le AWS SDKs pour découvrir automatiquement les informations d'identification valides requises pour exporter vos données de télémétrie vers. AWS Pour obtenir des conseils sur la configuration des informations d'identification pour votre environnement spécifique, [reportez-vous à la documentation sur la façon dont le AWS SDK récupère](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) les informations d'identification.

**Configuration des informations d’identification IAM pour les hôtes sur site :**

Configurez vos AWS informations d'identification sur votre hôte local en saisissant la commande suivante. Remplacez **ACCESS\$1KEY\$1ID** et **SECRET\$1ACCESS\$1KEY** par les informations d’identification de votre rôle ou utilisateur IAM configuré.

```
$ aws configure
AWS Access Key ID [None]: ACCESS_KEY_ID
AWS Secret Access Key [None]: SECRET_ACCESS_ID
Default region name [None]: MY_REGION
Default output format [None]: json
```

## Activation d'ADOT SDKs
<a name="Enabling-ADOT"></a>

Vous pouvez activer les journaux et les traces de votre application pour qu'ils soient envoyés directement aux points de terminaison OTLP à partir du SDK AWS Distro for OpenTelemetry (ADOT) sur Java, Node.js, Python et .Net.

------
#### [ Java ]

**Note**  
Vous devez utiliser **ADOT Java Agent version 2.11.2 ou ultérieure** pour que ces fonctionnalités soient disponibles.

1. Téléchargez la dernière version de l'agent d'auto-instrumentation de AWS Distro pour OpenTelemetry Java. Vous pouvez télécharger la dernière version à l’aide de cette commande :

   ```
   curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar
   ```

   Vous pouvez consulter les informations relatives à toutes les versions publiées dans la section [aws-otel-java-instrumentation Releases](https://github.com/aws-observability/aws-otel-java-instrumentation/releases).

1. Pour activer un autre exportateur qui envoie directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application :

   **Suivis :**
   + Définissez `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` pour spécifier le point de terminaison des traces OTLP X-Ray : `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Définissez `OTEL_TRACES_EXPORTER` sur `otlp` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` sur `http/protobuf` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_RESOURCE_ATTRIBUTES` pour spécifier les informations suivantes sous forme de paires clé-valeur. Ces variables d'environnement sont utilisées par Application Signals et sont converties en annotations de traçage X-Ray et en dimensions CloudWatch métriques. :
     + (Facultatif) `service.name` définit le nom du service. Ce nom s’affichera dans les tableaux de bord de la vigie applicative comme nom du service de votre application. Si vous ne fournissez pas de valeur pour cette clé, la valeur par défaut `UnknownService` est utilisée.
     + (Facultatif) `deployment.environment` définit l’environnement d’exécution de l’application. Cela s’affichera comme l’environnement **Hébergé dans** de votre application.
     + (Facultatif) Pour activer la corrélation des journaux, ajoutez dans `OTEL_RESOURCE_ATTRIBUTES` une variable d’environnement supplémentaire `aws.log.group.names` pour les groupes de journaux de votre application. Cela permet de corréler les suivis et les métriques de votre application avec les entrées de journaux correspondantes. Pour cette variable, remplacez `$YOUR_APPLICATION_LOG_GROUP` par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez les séparer à l’aide d’un esperluette (`&`), comme dans l’exemple suivant : `aws.log.group.names=log-group-1&log-group-2`. Pour activer la corrélation entre les métriques et les journaux, la définition de cette variable suffit. Pour plus d’informations, consultez [Activer la corrélation entre les métriques et les journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Pour activer la corrélation entre les suivis et les journaux, vous devez également modifier la configuration de journalisation de votre application. Pour plus d’informations, consultez [Activer la corrélation des traces et des journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Journaux :**
   + `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`Paramétré pour spécifier le point de terminaison des logs CloudWatch OTLP : `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Définissez `OTEL_EXPORTER_OTLP_LOGS_HEADERS` pour spécifier le groupe de journaux et le flux de journaux (remarque : ceux-ci doivent être créés **avant** d’exécuter ADOT) vers lesquels vous voulez exporter vos journaux : `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Définissez `OTEL_LOGS_EXPORTER` sur `otlp` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` sur `http/protobuf` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).

1. Défini `JAVA_TOOL_OPTIONS` pour spécifier le chemin dans lequel l'agent d'auto-instrumentation de AWS Distro for OpenTelemetry Java est stocké. Par exemple :

   ```
   export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH"
   export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
   ```

1. Votre application devrait maintenant fonctionner avec l’instrumentation ADOT Java et générer des portées et des journaux. Les plages seront stockées dans le `aws/spans` CloudWatch groupe de journaux, tandis que les journaux seront stockés dans le groupe de journaux spécifié dans l'`OTEL_EXPORTER_OTLP_LOGS_HEADERS`en-tête. Vous pouvez également consulter les journaux et les métriques corrélés à vos intervalles dans la console CloudWatch Traces and Metrics.

1. Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente. Voici un exemple de script de démarrage.

   ```
   JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \
   OTEL_METRICS_EXPORTER=none \
   OTEL_TRACES_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
   OTEL_LOGS_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \
   OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default 
   OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
   java -jar $MY_JAVA_APP.jar
   ```

------
#### [ Node.js ]

**Note**  
Vous devez utiliser **ADOT JavaScript version 0.7.0 ou ultérieure** pour que ces fonctionnalités soient disponibles.

1. Téléchargez la dernière version de AWS Distro pour l' OpenTelemetry JavaScript auto-instrumentation. Pour l'installer, exécutez la commande d' ci-dessous.

   ```
   npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation
   ```

   Vous pouvez consulter les informations relatives à toutes les versions publiées dans la section [aws-otel-js-instrumentation Releases](https://github.com/aws-observability/aws-otel-js-instrumentation/releases).

1. Pour activer un autre exportateur qui envoie directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application :

   **Suivis :**
   + Définissez `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` pour spécifier le point de terminaison des traces OTLP X-Ray : `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Définissez `OTEL_TRACES_EXPORTER` sur `otlp` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` sur `http/protobuf` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_RESOURCE_ATTRIBUTES` pour spécifier les informations suivantes sous forme de paires clé-valeur. Ces variables d'environnement sont utilisées par Application Signals et sont converties en annotations de traçage X-Ray et en dimensions CloudWatch métriques. :
     + (Facultatif) `service.name` définit le nom du service. Ce nom s’affichera dans les tableaux de bord de la vigie applicative comme nom du service de votre application. Si vous ne fournissez pas de valeur pour cette clé, la valeur par défaut `UnknownService` est utilisée.
     + (Facultatif) `deployment.environment` définit l’environnement d’exécution de l’application. Cela s’affichera comme l’environnement **Hébergé dans** de votre application.
     + (Facultatif) Pour activer la corrélation des journaux, ajoutez dans `OTEL_RESOURCE_ATTRIBUTES` une variable d’environnement supplémentaire `aws.log.group.names` pour les groupes de journaux de votre application. Cela permet de corréler les suivis et les métriques de votre application avec les entrées de journaux correspondantes. Pour cette variable, remplacez `$YOUR_APPLICATION_LOG_GROUP` par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez les séparer à l’aide d’un esperluette (`&`), comme dans l’exemple suivant : `aws.log.group.names=log-group-1&log-group-2`. Pour activer la corrélation entre les métriques et les journaux, la définition de cette variable suffit. Pour plus d’informations, consultez [Activer la corrélation entre les métriques et les journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Pour activer la corrélation entre les suivis et les journaux, vous devez également modifier la configuration de journalisation de votre application. Pour plus d’informations, consultez [Activer la corrélation des traces et des journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Journaux :**
   + `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`Paramétré pour spécifier le point de terminaison des logs CloudWatch OTLP : `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Définissez `OTEL_EXPORTER_OTLP_LOGS_HEADERS` pour spécifier le groupe de journaux et le flux de journaux (remarque : ceux-ci doivent être créés **avant** d’exécuter ADOT) vers lesquels vous voulez exporter vos journaux : `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Définissez `OTEL_LOGS_EXPORTER` sur `otlp` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` sur `http/protobuf` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).

1. Votre application devrait maintenant fonctionner avec l' JavaScript instrumentation ADOT et générera des spans et des logs. Les plages seront stockées dans le `aws/spans` CloudWatch groupe de journaux, tandis que les journaux seront stockés dans le groupe de journaux spécifié dans l'`OTEL_EXPORTER_OTLP_LOGS_HEADERS`en-tête. Vous pouvez également consulter les journaux et les métriques corrélés à vos intervalles dans la console CloudWatch Traces and Metrics.

1. Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente. Voici un exemple de script de démarrage.

   Remplacez `$SVC_NAME` par le nom de votre application. Cela s’affichera comme le nom de l’application.

   ```
   OTEL_METRICS_EXPORTER=none \
   OTEL_TRACES_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
   OTEL_LOGS_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \
   OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default 
   OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
   node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
   ```

------
#### [ Python ]

**Note**  
Vous devez utiliser **ADOT Python version 0.10.0 ou ultérieure** et avoir installé **`botocore`** pour que ces fonctionnalités soient disponibles.

1. Téléchargez la dernière version de l'auto-instrumentation de AWS Distro for OpenTelemetry Python. Pour l'installer, exécutez la commande d' ci-dessous.

   ```
   pip install aws-opentelemetry-distro
   ```

   Vous pouvez consulter les informations relatives à toutes les versions publiées dans la section [aws-otel-python-instrumentation Releases](https://github.com/aws-observability/aws-otel-python-instrumentation/releases).

1. Pour activer un autre exportateur qui envoie directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application :

   **Pour les configurations de traces et de journaux, vous devez définir les variables d’environnement suivantes :**
   + `OTEL_PYTHON_DISTRO` sur `aws_distro`
   + `OTEL_PYTHON_CONFIGURATOR` sur `aws_configurator`

   **Suivis :**
   + Définissez `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` pour spécifier le point de terminaison des traces OTLP X-Ray : `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Définissez `OTEL_TRACES_EXPORTER` sur `otlp` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` sur `http/protobuf` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_RESOURCE_ATTRIBUTES` pour spécifier les informations suivantes sous forme de paires clé-valeur. Ces variables d'environnement sont utilisées par Application Signals et sont converties en annotations de traçage X-Ray et en dimensions CloudWatch métriques. :
     + (Facultatif) `service.name` définit le nom du service. Ce nom s’affichera dans les tableaux de bord de la vigie applicative comme nom du service de votre application. Si vous ne fournissez pas de valeur pour cette clé, la valeur par défaut `UnknownService` est utilisée.
     + (Facultatif) `deployment.environment` définit l’environnement d’exécution de l’application. Cela s’affichera comme l’environnement **Hébergé dans** de votre application.
     + (Facultatif) Pour activer la corrélation des journaux, ajoutez dans `OTEL_RESOURCE_ATTRIBUTES` une variable d’environnement supplémentaire `aws.log.group.names` pour les groupes de journaux de votre application. Cela permet de corréler les suivis et les métriques de votre application avec les entrées de journaux correspondantes. Pour cette variable, remplacez `$YOUR_APPLICATION_LOG_GROUP` par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez les séparer à l’aide d’un esperluette (`&`), comme dans l’exemple suivant : `aws.log.group.names=log-group-1&log-group-2`. Pour activer la corrélation entre les métriques et les journaux, la définition de cette variable suffit. Pour plus d’informations, consultez [Activer la corrélation entre les métriques et les journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Pour activer la corrélation entre les suivis et les journaux, vous devez également modifier la configuration de journalisation de votre application. Pour plus d’informations, consultez [Activer la corrélation des traces et des journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Journaux :**
   + Définissez `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` sur `true`
   + `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`Paramétré pour spécifier le point de terminaison des logs CloudWatch OTLP : `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Définissez `OTEL_EXPORTER_OTLP_LOGS_HEADERS` pour spécifier le groupe de journaux et le flux de journaux (remarque : ceux-ci doivent être créés **avant** d’exécuter ADOT) vers lesquels vous voulez exporter vos journaux : `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Par exemple :

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Définissez `OTEL_LOGS_EXPORTER` sur `otlp` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
   + Définissez la variable `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` sur `http/protobuf` (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).

1. Votre application devrait désormais fonctionner avec l’instrumentation ADOT Python et générer des portées et des journaux. Les plages seront stockées dans le `aws/spans` CloudWatch groupe de journaux, tandis que les journaux seront stockés dans le groupe de journaux spécifié dans l'`OTEL_EXPORTER_OTLP_LOGS_HEADERS`en-tête. Vous pouvez également consulter les journaux et les métriques corrélés à vos intervalles dans la console CloudWatch Traces and Metrics.

1. Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente. Voici un exemple de script de démarrage.

   Remplacez `$SVC_NAME` par le nom de votre application. Cela s’affichera comme le nom de l’application.

   Remplacez `$PYTHON_APP` par l’emplacement et le nom de votre application.

   ```
   OTEL_METRICS_EXPORTER=none \
   OTEL_TRACES_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
   OTEL_LOGS_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \
   OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
   OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true
   OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
   opentelemetry-instrument python $MY_PYTHON_APP.py
   ```

------
#### [ .Net ]

**Note**  
**ADOT .NET version 1.8.0 ou ultérieure** est nécessaire pour que ces fonctionnalités soient disponibles.
La compression n’est actuellement pas prise en charge.
Les journaux ne sont actuellement pas pris en charge.

Téléchargez la dernière version du package d'auto-instrumentation AWS Distro pour OpenTelemetry .NET. Vous pouvez consulter les informations relatives à toutes les versions publiées dans la section [aws-otel-dotnet-instrumentation Releases](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases).

Pour activer les différents exportateurs qui envoient directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application (remplacez `dotnet-service-name` dans la variable d’environnement `OTEL_RESOURCE_ATTRIBUTES` par le nom du service de votre choix) :

**Suivis :**
+ Vous **DEVEZ** définir `OTEL_TRACES_EXPORTER` sur `none`.
+ Vous **DEVEZ** définir `OTEL_AWS_SIG_V4_ENABLED` sur `true`.

  Cette fonctionnalité n’est **pas activée automatiquement dans .NET**. La variable d’environnement est nécessaire pour identifier spécifiquement ce cas d’utilisation dans l’instrumentation .NET. Cette exigence est propre à .NET et **ne s’applique pas aux autres langages pris en charge**.

Voici un exemple de configuration pour Linux.

```
export INSTALL_DIR=OpenTelemetryDistribution
export CORECLR_ENABLE_PROFILING=1
export CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318}
export CORECLR_PROFILER_PATH=${INSTALL_DIR}/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so
export DOTNET_ADDITIONAL_DEPS=${INSTALL_DIR}/AdditionalDeps
export DOTNET_SHARED_STORE=${INSTALL_DIR}/store
export DOTNET_STARTUP_HOOKS=${INSTALL_DIR}/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll
export OTEL_DOTNET_AUTO_HOME=${INSTALL_DIR}

export OTEL_DOTNET_AUTO_PLUGINS="AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation"
export OTEL_TRACES_EXPORTER=none
export OTEL_AWS_SIG_V4_ENABLED=true

export OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
export OTEL_METRICS_EXPORTER=none
export OTEL_LOGS_EXPORTER=none
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
```

Voici un exemple de configuration pour Windows Server :

```
$env:INSTALL_DIR = "OpenTelemetryDistribution" 
$env:CORECLR_ENABLE_PROFILING = 1 
$env:CORECLR_PROFILER = "{918728DD-259F-4A6A-AC2B-B85E1B658318}" 
$env:CORECLR_PROFILER_PATH = Join-Path $env:INSTALL_DIR "win-x64/OpenTelemetry.AutoInstrumentation.Native.dll" 
$env:DOTNET_ADDITIONAL_DEPS = Join-Path $env:INSTALL_DIR "AdditionalDeps" 
$env:DOTNET_SHARED_STORE = Join-Path $env:INSTALL_DIR "store" 
$env:DOTNET_STARTUP_HOOKS = Join-Path $env:INSTALL_DIR "net/OpenTelemetry.AutoInstrumentation.StartupHook.dll" 
$env:OTEL_DOTNET_AUTO_HOME = $env:INSTALL_DIR 
$env:OTEL_DOTNET_AUTO_PLUGINS = "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation"

$env:OTEL_TRACES_EXPORTER=none
$env:OTEL_AWS_SIG_V4_ENABLED=true

$env:OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
$env:OTEL_METRICS_EXPORTER=none
$env:OTEL_LOGS_EXPORTER=none
$env:OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
$env:OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
```

1. Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente.

1. (Facultatif) Vous pouvez également utiliser les scripts d'installation fournis pour faciliter l'installation et la configuration du package d'instrumentation automatique AWS Distro for OpenTelemetry .NET.

   Pour Linux, téléchargez et installez le script d'installation de Bash depuis la page des GitHub versions :

   ```
   # Download and Install
   curl -L -O https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/aws-otel-dotnet-install.sh
   chmod +x ./aws-otel-dotnet-install.sh
   ./aws-otel-dotnet-install.sh
   # Instrument
   . $HOME/.otel-dotnet-auto/instrument.shexport OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
   ```

   Pour Windows Server, téléchargez et installez le script PowerShell d'installation depuis la page GitHub des versions :

   ```
   # Download and Install
   $module_url = "https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/AWS.Otel.DotNet.Auto.psm1"
   $download_path = Join-Path $env:temp "AWS.Otel.DotNet.Auto.psm1"
   Invoke-WebRequest -Uri $module_url -OutFile $download_path
   Import-Module $download_path
   Install-OpenTelemetryCore
   # Instrument
   Import-Module $download_path
   Register-OpenTelemetryForCurrentSession -OTelServiceName "dotnet-service-name"
   Register-OpenTelemetryForIIS
   ```

   Vous pouvez trouver le NuGet package du package d'auto-instrumentation AWS Distro pour OpenTelemetry .NET dans le dépôt [officiel NuGet ](https://www.nuget.org/packages/AWS.Distro.OpenTelemetry.AutoInstrumentation). Assurez-vous de consulter le [fichier README](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/blob/main/src/AWS.Distro.OpenTelemetry.AutoInstrumentation/nuget-readme.md) pour des instructions.

------