

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.

# Prise en main
<a name="CloudWatch-OTLPGettingStarted"></a>

Pour commencer à utiliser OpenTelemetry in CloudWatch, vous pouvez utiliser la OpenTelemetry configuration préemballée disponible avec l' CloudWatch agent ainsi que la AWS distribution pour. OpenTelemetry SDKs Vous bénéficiez ainsi de l'expérience de surveillance la plus intégrée qui soit CloudWatch.

**Note**  
Assurez-vous que la recherche de transactions est activée avant d'utiliser le point de terminaison OTLP pour les traces.

Vous avez également la possibilité d'utiliser le OpenTelemetry collecteur ou votre propre OpenTelemetry collecteur personnalisé pour envoyer directement la télémétrie au point de terminaison OTLP. Vous pouvez utiliser le AWS Distro pour passer OpenTelemetry au mode sans collecteur et envoyer la télémétrie directement au point de terminaison OTLP. Faites un choix éclairé en fonction des fonctionnalités prises en charge :


| Fonctionnalité | OpenTelemetry Collectionneur |  OpenTelemetry Collectionneur personnalisé | AWS Distro pour OpenTelemetry | 
| --- | --- | --- | --- | 
|  CloudWatch signaux d'application (mesures de performance des applications, découverte de services et carte des applications)  |  Oui  |  Oui  |  Oui  | 
|  Recherche et analyse des portées et des résumés de traces  |  Oui  |  Oui  |  Oui  | 
|  Recherche et analyse des résumés de journaux  |  Oui  |  Oui  |  Oui  | 
|  Enrichissement de la télémétrie de surveillance des performances des applications avec les attributs de AWS l'infrastructure dans laquelle votre application est hébergée.  |  Non  |  Oui  |  Oui  | 
|  Métriques d’exécution corrélées à votre application. Par exemple, les métriques JVM  |  Non  |  Oui  |  Non  | 
|  AWS Support  |  Données reçues par AWS  |  Données reçues par AWS  |  Données reçues par AWS  | 
|  Télémétrie prise en charge  |  Journaux, métriques, traces  |  Journaux, suivis, métriques  |  Métriques, traces  | 

**Topics**
+ [OpenTelemetry Collectionneur](CloudWatch-OTLPSimplesetup.md)
+ [Créez votre propre OpenTelemetry Collector personnalisé](CloudWatch-OTLPAdvancedsetup.md)
+ [Exportation de données télémétriques sans collecteur à l'aide du SDK AWS Distro for (ADOT) OpenTelemetry](CloudWatch-OTLP-UsingADOT.md)
+ [Activation des métriques vendues dans ProMQL](CloudWatch-OTelEnrichment.md)

# OpenTelemetry Collectionneur
<a name="CloudWatch-OTLPSimplesetup"></a>

Le OpenTelemetry Collector est un agent open source indépendant du fournisseur qui reçoit, traite et exporte des données de télémétrie. Il agit comme un pipeline central entre vos applications et Amazon CloudWatch, en collectant des métriques, des journaux et des traces provenant de plusieurs sources et en les envoyant CloudWatch via le OpenTelemetry protocole OTLP (OTLP).

L'utilisation du OpenTelemetry Collector CloudWatch offre les avantages suivants :
+ Collectez les données télémétriques de plusieurs applications et hôtes via un seul agent, réduisant ainsi le nombre de connexions à. CloudWatch
+ Traitez et filtrez la télémétrie avant de l'envoyer à CloudWatch, notamment en ajoutant ou en supprimant des attributs, en groupant les données et en échantillonnant les traces.
+ Utilisez la même configuration de collecteur dans tous les environnements cloud AWS, sur site et dans d'autres environnements cloud, afin de fournir un pipeline de télémétrie cohérent quel que soit l'endroit où vos applications s'exécutent.
+ Envoyez des métriques à CloudWatch avec des libellés enrichis qui peuvent être interrogés à l'aide du langage de requête Prometheus (ProMQL) dans Query Studio. CloudWatch 

## Récepteurs compatibles
<a name="CloudWatch-OTLPSupportedReceivers"></a>

Le OpenTelemetry Collector prend en charge une large gamme de récepteurs pour l'ingestion de données de télémétrie. Vous pouvez utiliser des OpenTelemetry récepteurs tels que le récepteur OTLP pour les applications instrumentées OpenTelemetry SDKs ou les récepteurs Prometheus pour extraire les métriques des exportateurs Prometheus existants. Les récepteurs Prometheus couramment utilisés sont les suivants : CloudWatch 
+ Récepteur Prometheus, pour gratter n'importe quel terminal compatible avec Prometheus
+ Récepteur Host Metrics, pour collecter des métriques au niveau du système auprès de l'hôte
+ Récepteur Kubernetes Cluster, pour collecter des métriques au niveau du cluster à partir du serveur d'API Kubernetes

Vous pouvez configurer plusieurs récepteurs dans un seul collecteur, ce qui vous permet de collecter à la fois les métriques OpenTelemetry et celles de Prometheus et de les CloudWatch envoyer via le même pipeline. Pour la liste complète des récepteurs disponibles, consultez le [référentiel OpenTelemetry ](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver) Collector.

## Prise en main
<a name="CloudWatch-OTLPSimplesetupGettingStarted"></a>

Prérequis — Si vous utilisez le point de terminaison OTLP pour le suivi, assurez-vous que la recherche de transactions est activée.

Étapes :

1. Téléchargez la dernière version de la distribution OpenTelemetry Collector. Pour plus d'informations, consultez les [versions OpenTelemetry ](https://github.com/open-telemetry/opentelemetry-collector-releases/releases) Collector.

1. Installez le OpenTelemetry collecteur sur votre hôte. Le collecteur fonctionne sur tous les systèmes d'exploitation et toutes les plateformes. Pour plus d’informations, consultez [Installer le Collector](https://opentelemetry.io/docs/collector/installation/).

1. Configurez les AWS informations d'identification sur votre hôte Amazon EC2 ou sur site. Le collecteur utilise ces informations d'identification pour s'authentifier CloudWatch lors de l'envoi de données de télémétrie. Voir ci-dessous pour plus de détails.

------
#### [ Setup IAM permissions for Amazon EC2 ]

**Suivez la procédure ci-dessous pour associer la politique IAM `CloudWatchAgentServerPolicy` au rôle IAM de votre instance Amazon EC2.**

   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 le rôle utilisé par votre instance Amazon EC2.

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

   1. À l’aide du champ de recherche, recherchez la politique `CloudWatchAgentServerPolicy`.

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

------
#### [ Setup IAM permissions for on-premise hosts ]

**Vous pouvez créer un utilisateur IAM qui peut être utilisé pour fournir des autorisations à vos hôtes sur site.**

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

   1. Sélectionnez **Utilisateurs**, **Créer un utilisateur**.

   1. Sous **Détails de l’utilisateur**, pour **Nom d’utilisateur**, entrez un nom pour le nouvel utilisateur IAM. Il s'agit du nom de connexion AWS qui sera utilisé pour authentifier votre hôte.

   1. Choisissez **Suivant**.

   1. Sur la page **Définir les autorisations**, pour les **Options des autorisations**, sélectionnez **Attacher directement les politiques**.

   1. Dans la liste des **politiques d'autorisation**, sélectionnez la **CloudWatchAgentServerPolicy**politique à ajouter à votre utilisateur.

   1. Choisissez **Suivant**.

   1. Sur la page **Réviser et créer**, assurez-vous que vous êtes satisfait du nom d'utilisateur et que la **CloudWatchAgentServerPolicy**politique figure dans le **résumé des autorisations**.

   1. Choisissez **Create user (Créer un utilisateur)**.

   1. **Créez et récupérez votre clé AWS d'accès et votre clé secrète** : dans le volet de navigation de la console IAM, choisissez **Utilisateurs**, puis sélectionnez le nom d'utilisateur de l'utilisateur que vous avez créé à l'étape précédente.

   1. Sur la page de l’utilisateur, ouvrez l’onglet **Informations d’identification de sécurité**.

   1. Dans la section **Clés d’accès**, sélectionnez **Créer une clé d’accès**.

   1. Pour **Créer une clé d’accès – Étape 1**, sélectionnez **Interface de ligne de commande (CLI)**.

   1. Pour **Créer une clé d’accès – Étape 2**, ajoutez éventuellement une balise puis cliquez sur **Suivant**.

   1. Pour **Créer une clé d’accès – Étape 3**, sélectionnez **Télécharger le fichier .csv** pour enregistrer un fichier .csv avec la clé d’accès et la clé d’accès secrète de votre utilisateur IAM. Vous aurez besoin de ces informations pour l’étape suivante.

   1. Sélectionnez **Exécuté**.

   1. Configurez vos AWS informations d'identification sur votre hôte local en saisissant la commande suivante. Remplacez *ACCESS\$1KEY\$1ID* et *SECRET\$1ACCESS\$1ID* par votre clé d’accès et votre clé d’accès secrète nouvellement générées à partir du fichier .csv que vous avez téléchargé à l’étape précédente.

      ```
      $ 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
      ```

------

1. Configurez les AWS informations d'identification pour vos clusters Amazon EKS ou Kubernetes. Le moyen le plus simple de démarrer avec Amazon EKS est d'utiliser le module complémentaire EKS OTel Container Insights. Si vous préférez utiliser directement le OpenTelemetry collecteur, suivez la procédure ci-dessous pour configurer les AWS informations d'identification de vos clusters Amazon EKS ou Kubernetes auxquels envoyer des données de télémétrie. CloudWatch

------
#### [ Setup IAM permissions for Amazon EKS ]

   1. Créez un fournisseur d’identité OIDC IAM pour votre cluster à l’aide de la commande suivante. 

      ```
      eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} --region ${REGION} --approve
      ```

   1. Attribuez des rôles IAM au compte de service Kubernetes pour OTel Collector à l'aide de la commande suivante.

      ```
      eksctl create iamserviceaccount \
      --name ${COLLECTOR_SERVICE_ACCOUNT}\
      --namespace ${NAMESPACE} \
      --cluster ${CLUSTER_NAME} \
      --region ${REGION} \
      --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
      --approve \
      --override-existing-serviceaccounts
      ```

------
#### [ Setup IAM permissions for Kubernetes ]

   1. Configurez vos AWS informations d'identification sur votre hôte local en saisissant la commande suivante. Remplacez *ACCESS\$1KEY\$1ID* et *SECRET\$1ACCESS\$1ID* par votre clé d'accès et votre clé d'accès secrète nouvellement générées à partir du fichier .csv que vous avez téléchargé à l'étape précédente. Par défaut, le fichier d'informations d'identification est enregistré sous*/home/user/.aws/credentials*. .

      ```
      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
      ```

   1. Modifiez la ressource OpenTelemetry Collector pour ajouter le secret d'identification AWS nouvellement créé à l'aide de la commande : `kubectl edit OpenTelemetryCollector otel_collector` 

   1. À l'aide de l'éditeur de fichiers, ajoutez les AWS informations d'identification dans le OpenTelemetryCollector conteneur en ajoutant la configuration suivante en haut du déploiement. Remplacez le chemin */home/user/.aws/credentials* par l'emplacement de votre fichier d' AWS informations d'identification local. 

      ```
                           spec:
                          volumeMounts:
                          - mountPath: /rootfs
                          volumeMounts:
                          - name: aws-credentials
                          mountPath: /root/.aws
                          readOnly: true
                          volumes:
                          - hostPath:
                          path: /home/user/.aws/credentials
                          name: aws-credentials
      ```

------

1. Configurez l'exportateur OTLP dans la configuration de votre collecteur pour envoyer la télémétrie au point de terminaison. CloudWatch Consultez les exemples ci-dessous.

## Exemples de configuration de collecteurs
<a name="CloudWatch-OTLPSimplesetupConfigureCollector"></a>

Copiez et collez le contenu ci-dessous pour configurer votre collecteur afin qu’il envoie les journaux et les traces aux points de terminaison OTLP.

```
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  otlphttp/logs:
    compression: gzip
    logs_endpoint: logs_otlp_endpoint
    headers: 
      x-aws-log-group: ency_log_group
      x-aws-log-stream: default
    auth:
      authenticator: sigv4auth/logs
      
  otlphttp/traces:
    compression: gzip
    traces_endpoint: traces_otlp_endpoint
    auth:
      authenticator: sigv4auth/traces

extensions:
  sigv4auth/logs:
    region: "region"
    service: "logs"
  sigv4auth/traces:
    region: "region"
    service: "xray"

service:
  telemetry:
  extensions: [sigv4auth/logs, sigv4auth/traces]
  pipelines:
    logs:
      receivers: [otlp]
      exporters: [otlphttp/logs]
    traces:
      receivers: [otlp]
      exporters: [otlphttp/traces]
```

Voici un exemple d’envoi de journaux et de traces à l’aide de sigv4 vers us-east-1.

```
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  otlphttp/logs:
    compression: gzip
    logs_endpoint: https://logs.us-east-1.amazonaws.com/v1/logs
    headers: 
      x-aws-log-group: MyApplicationLogs
      x-aws-log-stream: default
    auth:
      authenticator: sigv4auth/logs
      
  otlphttp/traces:
    compression: gzip
    traces_endpoint: https://xray.us-east-1.amazonaws.com/v1/traces
    auth:
      authenticator: sigv4auth/traces

extensions:
  sigv4auth/logs:
    region: "us-east-1"
    service: "logs"
  sigv4auth/traces:
    region: "us-east-1"
    service: "xray"

service:
  telemetry:
  extensions: [sigv4auth/logs, sigv4auth/traces]
  pipelines:
    logs:
     receivers: [otlp]
      exporters: [otlphttp/logs]
    traces:
      receivers: [otlp]
      exporters: [otlphttp/traces]
```

**Note**  
Configurez votre configuration OpenTelemetry SDKs *d'échantillonnage permanent* pour enregistrer de manière fiable 100 % des plages et obtenir une visibilité complète sur vos applications critiques grâce aux CloudWatch signaux d'application. Pour plus d'informations, consultez un exemple de [configuration d'échantillonneur du SDK OpenTelemetry Java](https://opentelemetry.io/docs/languages/java/sdk/#sampler). Pour un exemple de configuration de OpenTelemetry Collector avec le point de terminaison OTLP X-Ray, consultez le référentiel de [démonstration des signaux d'application](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/otel_simple_setup/opentelemetry.yaml).

Copiez et collez le contenu ci-dessous pour configurer votre collecteur afin qu'il envoie des métriques aux points de terminaison OTLP.

```
receivers:
  otlp:
    protocols:
      http:
        endpoint: "0.0.0.0:4318"

processors:
  batch:
    send_batch_size: 200
    timeout: 10s

exporters:
  otlphttp:
    tls:
      insecure: false
    endpoint: metrics_otlp_endpoint
    auth:
      authenticator: sigv4auth

extensions:
  sigv4auth:
    service: "monitoring"
    region: "region"

service:
  extensions: [sigv4auth]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp]
```

Voici un exemple d'envoi de métriques à l'aide de sigv4 à us-east-1.

```
receivers:
  otlp:
    protocols:
      http:
        endpoint: "0.0.0.0:4318"

processors:
  batch:
    send_batch_size: 200
    timeout: 10s

exporters:
  otlphttp:
    tls:
      insecure: false
    endpoint: "https://monitoring.us-east-1.amazonaws.com/v1/metrics:443"
    auth:
      authenticator: sigv4auth

extensions:
  sigv4auth:
    service: "monitoring"
    region: "us-east-1"

service:
  extensions: [sigv4auth]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp]
```

# Créez votre propre OpenTelemetry Collector personnalisé
<a name="CloudWatch-OTLPAdvancedsetup"></a>

Vous pouvez créer votre propre OpenTelemetry collecteur personnalisé pour bénéficier de la meilleure expérience d'observabilité CloudWatch des OpenTelemetry applications. Dans cette configuration, vous devez créer votre propre OpenTelemetry Collector avec des CloudWatch composants open source.

## Prérequis
<a name="CloudWatch-OTLPAdvancedsetupPrequisite"></a>

Assurez-vous que *la recherche de transactions* est activée dans CloudWatch. Pour plus d’informations, consultez [Recherche de transactions](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

## Créer votre propre collecteur
<a name="CloudWatch-OTLPAdvancedsetupBuildCollector"></a>

Vous pouvez créer votre propre collecteur avec la configuration suivante pour surveiller votre application OpenTelemetry. CloudWatch Pour plus d’informations, consultez [Créer un collecteur personnalisé](https://opentelemetry.io/docs/collector/custom-collector/).

La configuration courante pour CloudWatch.

```
dist:
  name: otelcol-dev
  description: OTel Collector for sending telemetry to CloudWatch.
  output_path: ./otelcol-dev
extensions:
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.111.0
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.113.0
exporters:
  - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.111.0
  - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.111.0
receivers:
  - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.111.0
```

Configuration supplémentaire pour les traces.

```
# Enable Tracing 
dist:
  name: otelcol-dev
  description: OTel Collector for sending telemetry to CloudWatch.
  output_path: ./otelcol-dev
extensions:
    #Include common configurations and your custom extensions

exporters:
    #Include common configurations and your custom extensions
 
receivers:
  - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.111.0
processors:
  - gomod: github.com/amazon-contributing/opentelemetry-collector-contrib/processor/awsapplicationsignalsprocessor v0.113.0
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.113.0
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.113.0
replaces:
  - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.113.0 => github.com/amazon-contributing/opentelemetry-collector-contrib/internal/aws/awsutil v0.113.0
  - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.113.0 => github.com/amazon-contributing/opentelemetry-collector-contrib/internal/aws/cwlogs v0.113.0
  - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.113.0 => github.com/amazon-contributing/opentelemetry-collector-contrib/exporter/awsemfexporter v0.113.0
  - github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37
```

**Note**  
Notez ce qui suit :   
Une fois le collecteur créé, déployez et configurez le collecteur personnalisé dans un environnement hôte ou Kubernetes en suivant la procédure décrite sous [OpenTelemetry Collectionneur](CloudWatch-OTLPSimplesetup.md).
Pour plus d'informations sur la configuration d'un OpenTelemetry collecteur personnalisé avec le processeur de signaux d'application, consultez un exemple de [configuration personnalisée de signaux d'application](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/appsignals_custom_otel_setup/custom-opentelemetry.yaml). Le processeur de signaux d'application ne prend en charge que les dernières versions des OpenTelemetry collecteurs pour les versions personnalisées. Pour plus d'informations sur les versions prises en charge, consultez [opentelemetry-collector-contrib le référentiel.](https://github.com/amazon-contributing/opentelemetry-collector-contrib/tags)

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

------

# Activation des métriques vendues dans ProMQL
<a name="CloudWatch-OTelEnrichment"></a>

Vous pouvez activer OTel l'enrichissement pour que les métriques vendues pour les [AWS ressources prises en charge puissent être interrogées via](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/UsingResourceTagsForTelemetry.html) ProMQL. Une fois activées, les métriques contenant une dimension d'identifiant de ressource (par exemple, EC2 CPUUtilization avec une InstanceId dimension) sont enrichies d'ARN de ressource et d'étiquettes de ressource et peuvent être interrogées à l'aide de ProMQL.

La métrique enrichie préserve le nom et les CloudWatch dimensions de la métrique d'origine, et ajoute :
+ **Attributs** de ressource : ARN de la ressource (`cloud.resource_id`), fournisseur de cloud, région et ID de compte.
+ **Champ d'application de l'instrumentation** : identifie le service source et marque la métrique comme étant OTel enrichie.
+ **Balises de ressource** : toutes les balises de AWS ressource associées à la ressource, interrogeables sous forme d'étiquettes ProMQL.

La CloudWatch métrique classique d'origine n'est pas modifiée et reste disponible jusqu'à ce qu'elle soit existante CloudWatch APIs.

## Permettre OpenTelemetry l'enrichissement des métriques vendues
<a name="CloudWatch-OTelEnrichment-Enable"></a>

Avant de commencer OTel l'enrichissement, vous devez [activer les balises de ressources sur la télémétrie](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/EnableResourceTagsOnTelemetry.html) pour votre compte.

Vous pouvez activer OTel l'enrichissement de votre compte dans une région spécifique à l'aide de la CloudWatch console ou du AWS SDK. AWS CLI

Vous aurez besoin d'autorisations pour effectuer les opérations suivantes : `cloudwatch:StartOTelEnrichment`

**Pour activer OTel l'enrichissement des AWS métriques (CloudWatch console)**

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation, choisissez **CloudWatch**, puis sélectionnez **Paramètres**.

1. Dans le volet **Activer OTel l'enrichissement AWS des métriques**, activez la fonctionnalité.

**AWS CLI**

```
aws cloudwatch start-o-tel-enrichment
```

Pour l'activer dans plusieurs régions, appelez l'API dans chaque région d'intérêt.

Une fois l'enrichissement activé, vous pouvez commencer à interroger les métriques vendues via ProMQL. Voir : [Interrogation des AWS métriques vendues avec ProMQL](CloudWatch-PromQL-Querying.md#CloudWatch-PromQL-Querying-Vended).