

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.

# Intégration AWS X-Ray avec d'autres Services AWS
<a name="xray-services"></a>

**Note**  
Avis de SDK/Daemon maintenance de X-Ray — Le 25 février 2026, le AWS X-Ray SDKs/Daemon passera en mode maintenance, où les versions du SDK et du Daemon de X-Ray AWS seront limitées uniquement pour résoudre les problèmes de sécurité. Pour plus d'informations sur le calendrier de support, consultez[Chronologie du support pour le SDK et Daemon X-Ray](xray-sdk-daemon-timeline.md). Nous vous recommandons de migrer vers OpenTelemetry. Pour plus d'informations sur la migration vers OpenTelemetry, voir [Migration de l'instrumentation X-Ray vers OpenTelemetry l'instrumentation](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html).

Beaucoup Services AWS proposent différents niveaux d'intégration de X-Ray, notamment l'échantillonnage et l'ajout d'en-têtes aux demandes entrantes, l'exécution du daemon X-Ray et l'envoi automatique de données de suivi à X-Ray. L'intégration à X-Ray peut inclure les éléments suivants :
+ *Instrumentation active* — Demandes entrantes d'échantillons et d'instruments
+ *Instrumentation passive* — Demandes d'instruments qui ont été échantillonnées par un autre service
+ *Suivi des demandes* — Ajoute un en-tête de suivi à toutes les demandes entrantes et le propage en aval
+ *Outillage* — Exécute le démon X-Ray pour recevoir des segments du SDK X-Ray

**Note**  
The X-Ray SDKs inclut des plugins pour une intégration supplémentaire avec Services AWS. Par exemple, vous pouvez utiliser le plug-in Elastic Beanstalk du SDK X-Ray pour Java afin d'ajouter des informations sur l'environnement Elastic Beanstalk qui exécute votre application, notamment le nom et l'ID de l'environnement.

Voici quelques exemples de ceux Services AWS qui sont intégrés à X-Ray :
+ [AWS Distro for OpenTelemetry (ADOT)](xray-services-adot.md) — Avec ADOT, les ingénieurs peuvent instrumenter leurs applications une seule fois et envoyer des métriques et des traces corrélées à plusieurs AWS solutions de surveillance, notamment Amazon CloudWatch, Amazon Service et AWS X-Ray Amazon Managed OpenSearch Service for Prometheus.
+ [AWS Lambda](xray-services-lambda.md)— Instrumentation active et passive des demandes entrantes sur tous les runtimes. AWS Lambda ajoute deux nœuds à votre carte de trace, l'un pour le AWS Lambda service et l'autre pour la fonction. Lorsque vous activez l'instrumentation, AWS Lambda exécutez également le démon X-Ray sur les environnements d'exécution Java et Node.js à utiliser avec le SDK X-Ray.
+ [Amazon API Gateway](xray-services-apigateway.md) — Instrumentation active et passive. API Gateway utilise des règles d'échantillonnage pour déterminer les demandes à enregistrer et ajoute un nœud pour l'étape de passerelle à votre carte de services. 
+ [AWS Elastic Beanstalk](xray-services-beanstalk.md)— Outillage. Elastic Beanstalk inclut le daemon X-Ray sur les plateformes suivantes :
  + *Java SE* — Configurations 2.3.0 et ultérieures
  + *Tomcat — Configurations* 2.4.0 et ultérieures
  + *Node.js* — Configurations 3.2.0 et ultérieures
  + *Windows Server* : toutes les configurations autres que Windows Server Core publiées après le 9 décembre 2016

  Vous pouvez utiliser la console Elastic Beanstalk pour demander à Elastic Beanstalk d'exécuter le daemon sur ces plateformes, ou utiliser l'option dans l'espace de noms. `XRayEnabled` `aws:elasticbeanstalk:xray` 
+ [Elastic Load Balancing](xray-services-elb.md) — Suivi des demandes sur les équilibreurs de charge des applications. L'Application Load Balancer ajoute l'ID de trace à l'en-tête de la demande avant de l'envoyer à un groupe cible.
+ [Amazon EventBridge](xray-services-eventbridge.md) — Instrumentation passive. Si un service qui publie des événements EventBridge est équipé du SDK X-Ray, les cibles des événements recevront l'en-tête de suivi et pourront continuer à propager l'ID de trace d'origine. 
+ [Amazon Simple Notification Service](xray-services-sns.md) — Instrumentation passive. Si un éditeur Amazon SNS trace son client à l'aide du SDK X-Ray, les abonnés peuvent récupérer l'en-tête de suivi et continuer à propager le suivi d'origine auprès de l'éditeur ayant le même identifiant de suivi. 
+ [Amazon Simple Queue Service](xray-services-sqs.md) — Instrumentation passive. Si un service assure le suivi des demandes à l'aide du SDK X-Ray, Amazon SQS peut envoyer l'en-tête de suivi et continuer à propager le suivi d'origine de l'expéditeur au consommateur avec un identifiant de suivi cohérent. 
+ [Amazon Bedrock AgentCore](xray-services-sqs.md) : AgentCore prend en charge le suivi distribué grâce à l'intégration de X-Ray, ce qui vous permet de suivre les demandes au fur et à mesure qu'elles passent par les applications de vos agents. Lorsque vous activez l'observabilité de vos AgentCore ressources, vous pouvez propager le contexte de suivi au-delà des limites des services et gagner en visibilité sur les performances de vos agents et outils d'IA. 

Choisissez parmi les rubriques suivantes pour découvrir l'ensemble des fonctionnalités intégrées Services AWS.

**Topics**
+ [Amazon Bedrock AgentCore et AWS X-Ray](xray-services-agentcore.md)
+ [Amazon Elastic Compute Cloud et AWS X-Ray](xray-services-ec2.md)
+ [Amazon SNS et AWS X-Ray](xray-services-sns.md)
+ [Amazon SQS et AWS X-Ray](xray-services-sqs.md)
+ [Amazon S3 et AWS X-Ray](xray-services-s3.md)
+ [AWS Distro pour et OpenTelemetry AWS X-Ray](xray-services-adot.md)
+ [Suivi des modifications de configuration du chiffrement X-Ray avec AWS Config](xray-api-config.md)
+ [AWS AppSync et AWS X-Ray](xray-services-appsync.md)
+ [Support de suivi actif d'Amazon API Gateway pour AWS X-Ray](xray-services-apigateway.md)
+ [Amazon EC2 et AWS App Mesh](xray-services-appmesh.md)
+ [AWS App Runner et X-Ray](xray-services-app-runner.md)
+ [Enregistrement des appels d'API X-Ray avec AWS CloudTrail](xray-api-cloudtrail.md)
+ [CloudWatch intégration avec X-Ray](xray-services-cloudwatch.md)
+ [AWS Elastic Beanstalk et AWS X-Ray](xray-services-beanstalk.md)
+ [Elastic Load Balancing et AWS X-Ray](xray-services-elb.md)
+ [Amazon EventBridge et AWS X-Ray](xray-services-eventbridge.md)
+ [AWS Lambda et AWS X-Ray](xray-services-lambda.md)
+ [AWS Step Functions et AWS X-Ray](xray-services-stepfunctions.md)

# Amazon Bedrock AgentCore et AWS X-Ray
<a name="xray-services-agentcore"></a>

Amazon Bedrock AgentCore s'intègre AWS X-Ray pour fournir des fonctionnalités de suivi distribué à vos agents et outils d'IA. Cette intégration vous permet de suivre les demandes au fur et à mesure qu'elles circulent dans les applications de vos agents, ce qui vous aide à identifier les goulots d'étranglement liés aux performances et à résoudre les problèmes.

AgentCore prend en charge le traçage distribué grâce à l'intégration de X-Ray, ce qui vous permet de surveiller les performances de vos agents et outils d'IA. Lorsque vous activez l'observabilité de vos AgentCore ressources, vous pouvez propager le contexte de suivi au-delà des limites des services et gagner en visibilité sur la manière dont vos agents interagissent avec les autres AWS services. Pour plus d’informations, consultez [Amazon Bedrock AgentCore](https://docs.aws.amazon.com//bedrock-agentcore/latest/devguide/what-is-genesis.html). 

AgentCore prend en charge les fonctionnalités X-Ray suivantes :
+ Propagation du contexte de suivi vers les services en aval
+ Instrumentation personnalisée à l'aide du AWS SDK Distro for OpenTelemetry (ADOT)

## Configuration de X-Ray avec AgentCore
<a name="xray-services-agentcore-settingup"></a>

Pour utiliser X-Ray avec AgentCore, vous devez activer CloudWatch Transaction Search dans votre AWS compte. Il s'agit d'une configuration unique qui permet d' AgentCore envoyer des données de suivi à X-Ray. Pour plus d'informations, voir [Activer la recherche de transactions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

Pour plus d'informations sur la configuration de l'observabilité pour AgentCore, consultez [Ajouter de l'observabilité à votre AgentCore agent ou outil Amazon Bedrock](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html).

## Utilisation des en-têtes de trace avec AgentCore
<a name="xray-services-agentcore-trace"></a>

AgentCore prend en charge le format d'en-tête X-Ray Trace pour le traçage distribué. Vous pouvez inclure l'`X-Amzn-Trace-Id`en-tête dans vos demandes afin de AgentCore conserver le contexte de suivi au-delà des limites du service.

# Amazon Elastic Compute Cloud et AWS X-Ray
<a name="xray-services-ec2"></a>

Vous pouvez installer et exécuter le daemon X-Ray sur une EC2 instance Amazon à l'aide d'un script de données utilisateur. Pour obtenir des instructions, consultez [Exécution du daemon X-Ray sur Amazon EC2](xray-daemon-ec2.md).

Utilisez un profil d'instance pour autoriser le démon à télécharger des données de trace vers X-Ray. Pour de plus amples informations, veuillez consulter [Autoriser le daemon à envoyer des données à X-Ray](xray-daemon.md#xray-daemon-permissions).

# Amazon SNS et AWS X-Ray
<a name="xray-services-sns"></a>

[Vous pouvez utiliser AWS X-Ray Amazon Simple Notification Service (Amazon SNS) pour suivre et analyser les demandes au fur et à mesure qu'elles transitent par vos rubriques SNS vers vos services d'abonnement pris en charge par le SNS.](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) Utilisez le suivi X-Ray avec Amazon SNS pour analyser les temps de latence de vos messages et de leurs services principaux, par exemple le temps passé par une demande dans un sujet et le temps nécessaire pour transmettre le message à chacun des abonnements du sujet. Amazon SNS prend en charge le suivi X-Ray pour les rubriques standard et FIFO.

Si vous publiez sur une rubrique Amazon SNS à partir d'un service déjà équipé de X-Ray, Amazon SNS transmet le contexte de suivi de l'éditeur aux abonnés. En outre, vous pouvez activer le suivi actif pour envoyer à X-Ray des données de segment relatives à vos abonnements Amazon SNS pour les messages publiés à partir d'un client SNS instrumenté. [Activez le suivi actif](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) pour une rubrique Amazon SNS à l'aide de la console Amazon SNS ou à l'aide de l'API ou de la CLI Amazon SNS. Consultez [Instrumentation de votre application](xray-instrumenting-your-app.md) pour plus d'informations sur l'instrumentation de vos clients SNS. 

## Configurer le suivi actif Amazon SNS
<a name="xray-services-sns-configuration"></a>

Vous pouvez utiliser la console Amazon SNS, la AWS CLI ou le SDK pour configurer le suivi actif Amazon SNS. 

Lorsque vous utilisez la console Amazon SNS, Amazon SNS tente de créer les autorisations nécessaires pour que SNS appelle X-Ray. La tentative peut être rejetée si vous ne disposez pas des autorisations suffisantes pour modifier les politiques relatives aux ressources de X-Ray. Pour plus d'informations sur ces autorisations, consultez la section [Gestion des identités et des accès dans Amazon SNS et Exemples](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html) [de cas de contrôle d'accès Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) dans le guide du développeur Amazon Simple Notification Service. Pour plus d'informations sur l'activation du suivi actif à l'aide de la console Amazon SNS, consultez la section [Activation du suivi actif sur une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) du manuel Amazon Simple Notification Service Developer Guide. 

Lorsque vous utilisez la AWS CLI ou le SDK pour activer le suivi actif, vous devez configurer manuellement les autorisations à l'aide de politiques basées sur les ressources. [https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html](https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html)À utiliser pour configurer X-Ray avec la politique basée sur les ressources nécessaire pour permettre à Amazon SNS d'envoyer des traces à X-Ray. 

**Example Exemple de politique basée sur les ressources X-Ray pour le suivi actif d'Amazon SNS**  
Cet exemple de document de politique précise les autorisations dont Amazon SNS a besoin pour envoyer des données de suivi à X-Ray :  

```
{
    Version: "2012-10-17",		 	 	 
    Statement: [
      {
        Sid: "SNSAccess",
        Effect: Allow,
        Principal: {
          Service: "sns.amazonaws.com",
        },
        Action: [
          "xray:PutTraceSegments",
          "xray:GetSamplingRules",
          "xray:GetSamplingTargets"
        ],
        Resource: "*",
        Condition: {
          StringEquals: {
            "aws:SourceAccount": "account-id"
          },
          StringLike: {
            "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name"
          }
        }
      }
    ]
  }
```
Utilisez la CLI pour créer une politique basée sur les ressources qui autorise Amazon SNS à envoyer des données de suivi à X-Ray :   

```
aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'
```
Pour utiliser ces exemples, remplacez*`partition`*, *`region`**`account-id`*, et *`topic-name`* par votre AWS partition, région, ID de compte et nom de rubrique Amazon SNS spécifiques. Pour autoriser toutes les rubriques Amazon SNS à envoyer des données de suivi à X-Ray, remplacez le nom de la rubrique par. `*` 

## Afficher les traces des éditeurs et des abonnés Amazon SNS dans la console X-Ray
<a name="xray-services-sns-view-traces"></a>

Utilisez la console X-Ray pour consulter une carte de trace et les détails des traces qui affichent une vue connectée des éditeurs et des abonnés Amazon SNS. Lorsque le suivi actif d'Amazon SNS est activé pour une rubrique, la carte de suivi et la carte des détails des traces X-Ray affichent les nœuds connectés pour les éditeurs Amazon SNS, la rubrique Amazon SNS et les abonnés en aval : 

![\[Tracez la carte avec l'éditeur et l'abonné Amazon SNS\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/services-sns-activetracing-map.png)


Après avoir sélectionné un suivi couvrant un éditeur et un abonné Amazon SNS, la page des détails du suivi X-Ray affiche une carte des détails du suivi et une chronologie des segments. 

**Example Exemple de chronologie avec l'éditeur et l'abonné Amazon SNS**  
Cet exemple montre une chronologie qui inclut un éditeur Amazon SNS qui envoie un message à une rubrique Amazon SNS, qui est traité par un abonné Amazon SQS.   

![\[Chronologie des segments pour l'éditeur et l'abonné Amazon SNS\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/services-sns-activetracing-timeline.png)


L'exemple de chronologie ci-dessus fournit des informations sur le flux de messages Amazon SNS : 
+ Le segment **SNS** représente la durée aller-retour de l'appel d'`Publish`API du client.
+ Le segment **MyTopic** représente la latence de la réponse Amazon SNS à la demande de publication.
+ Le sous-segment **SQS** représente le temps aller-retour nécessaire à Amazon SNS pour publier le message dans une file d'attente Amazon SQS.
+ Le temps entre le segment **MyTopic** et le sous-segment **SQS** représente le temps que le message passe dans le système Amazon SNS.

**Example Exemple de chronologie avec des messages Amazon SNS groupés**  
Si plusieurs messages Amazon SNS sont regroupés par lots au sein d'une même trace, la chronologie des segments affiche les segments qui représentent chaque message traité.   

![\[Chronologie des segments pour les messages par lots Amazon SNS\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/services-sns-activetracing-batch-timeline.png)


# Amazon SQS et AWS X-Ray
<a name="xray-services-sqs"></a>

AWS X-Ray s'intègre à Amazon Simple Queue Service (Amazon SQS) pour suivre les messages transmis via une file d'attente Amazon SQS. Si un service assure le suivi des demandes à l'aide du SDK X-Ray, Amazon SQS peut envoyer l'en-tête de suivi et continuer à propager le suivi d'origine de l'expéditeur au consommateur avec un identifiant de suivi cohérent. La continuité du suivi permet aux utilisateurs de suivre, d'analyser et de déboguer les services en aval d'un bout à l'autre.

AWS X-Ray prend en charge le suivi des applications pilotées par des événements à l'aide d'Amazon SQS et. AWS Lambda Utilisez la CloudWatch console pour voir une vue connectée de chaque demande mise en file d'attente avec Amazon SQS et traitée par une fonction Lambda en aval. Les traces provenant des producteurs de messages en amont sont automatiquement liées aux traces provenant des nœuds consommateurs Lambda en aval, créant ainsi une end-to-end vue de l'application. Pour plus d'informations, consultez la section [Suivi des applications pilotées par des événements](xray-tracelinking.md). 

![\[Tracez la carte depuis Lambda via la file d'attente Amazon SQS.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/console-batch-servicemap-linkededge.png)


Amazon SQS prend en charge l'instrumentation d'en-tête de suivi suivante :
+ **En-tête HTTP par défaut** — Le SDK X-Ray remplit automatiquement l'en-tête de trace en tant qu'en-tête HTTP lorsque vous appelez Amazon SQS via le SDK. AWS L'en-tête de suivi par défaut est transporté par `X-Amzn-Trace-Id` et correspond à tous les messages inclus dans une demande [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html). Pour en savoir plus sur l'en-tête HTTP par défaut, consultez [En-tête de suivi](xray-concepts.md#xray-concepts-tracingheader).
+ **`AWSTraceHeader`Attribut système** — `AWSTraceHeader` Il s'agit d'un [attribut de système de messagerie](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_MessageSystemAttributeValue.html) réservé par Amazon SQS pour contenir l'en-tête X-Ray Trace avec les messages dans la file d'attente. `AWSTraceHeader`peut être utilisé même lorsque l'instrumentation automatique via le SDK X-Ray ne l'est pas, par exemple lors de la création d'un SDK de traçage pour une nouvelle langue. Lorsque les deux instrumentations d'en-tête sont définies, l'attribut système de message remplace l'en-tête de suivi HTTP.

Lorsqu'il est exécuté sur Amazon EC2, Amazon SQS prend en charge le traitement d'un message à la fois. Cela s'applique lors de l'exécution sur un hôte sur site et lors de l'utilisation de services de conteneur AWS Fargate, tels qu'Amazon ECS ou AWS App Mesh. 

L'en-tête de trace est exclu à la fois de la taille des messages Amazon SQS et des quotas d'attributs des messages. L'activation du suivi X-Ray ne dépassera pas vos quotas Amazon SQS. Pour en savoir plus sur les AWS quotas, consultez [Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html) Quotas.

## Envoi de l'en-tête de suivi HTTP
<a name="xray-services-sqs-sending"></a>

Les composants d'expéditeur d'Amazon SQS peuvent envoyer automatiquement l'en-tête de trace via l'appel [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html)ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html). Lorsque les clients du AWS SDK sont instrumentés, ils peuvent être automatiquement suivis dans toutes les langues prises en charge par le SDK X-Ray. Les ressources tracées Services AWS et auxquelles vous accédez au sein de ces services (par exemple, un compartiment Amazon S3 ou une file d'attente Amazon SQS) apparaissent sous forme de nœuds en aval sur la carte de suivi de la console X-Ray.

Pour savoir comment suivre les appels du AWS SDK dans la langue de votre choix, consultez les rubriques suivantes dans les rubriques prises en charge SDKs :
+ Go – [Suivi des appels du AWS SDK avec le SDK X-Ray pour Go](xray-sdk-go-awssdkclients.md)
+ Java — [Suivi des appels du AWS SDK avec le SDK X-Ray pour Java](xray-sdk-java-awssdkclients.md)
+ Node.js – [Suivi des appels du AWS SDK avec le SDK X-Ray pour Node.js](xray-sdk-nodejs-awssdkclients.md)
+ Python – [Suivi des appels du AWS SDK avec le SDK X-Ray pour Python](xray-sdk-python-awssdkclients.md)
+ Ruby – [Suivi des appels du AWS SDK avec le SDK X-Ray pour Ruby](xray-sdk-ruby-awssdkclients.md)
+ .NET – [Suivi des appels du AWS SDK avec le SDK X-Ray pour .NET](xray-sdk-dotnet-sdkclients.md)

## Récupération de l'en-tête de suivi et récupération du contexte de suivi
<a name="xray-services-sqs-retrieving"></a>

Si vous utilisez un consommateur Lambda en aval, la propagation du contexte de trace est automatique. Pour poursuivre la propagation du contexte avec d'autres clients Amazon SQS, vous devez instrumenter manuellement le transfert vers le composant récepteur.

La récupération du contexte de suivi comporte trois étapes principales :
+ Recevoir le message de la file d'attente pour l'attribut `AWSTraceHeader` en appelant l'API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html).
+ Récupérer l'en-tête de suivi à partir de l'attribut.
+ Récupérer l'ID de suivi à partir de l'en-tête. Vous pouvez également ajouter d'autres métriques au segment.

Voici un exemple d'implémentation écrit avec le SDK X-Ray pour Java.

**Example : Récupération de l'en-tête de suivi et récupération du contexte de suivi**  

```
// Receive the message from the queue, specifying the "AWSTraceHeader"
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
        .withQueueUrl(QUEUE_URL)
        .withAttributeNames("AWSTraceHeader");
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

if (!messages.isEmpty()) {
    Message message = messages.get(0);
    
    // Retrieve the trace header from the AWSTraceHeader message system attribute
    String traceHeaderStr = message.getAttributes().get("AWSTraceHeader");
    if (traceHeaderStr != null) {
        TraceHeader traceHeader = TraceHeader.fromString(traceHeaderStr);

        // Recover the trace context from the trace header
        Segment segment = AWSXRay.getCurrentSegment();
        segment.setTraceId(traceHeader.getRootTraceId());
        segment.setParentId(traceHeader.getParentId());
        segment.setSampled(traceHeader.getSampled().equals(TraceHeader.SampleDecision.SAMPLED));
    }
}
```

# Amazon S3 et AWS X-Ray
<a name="xray-services-s3"></a>

AWS X-Ray s'intègre à Amazon S3 pour suivre les demandes en amont visant à mettre à jour les compartiments S3 de votre application. Si un service effectue le suivi des demandes à l'aide du SDK X-Ray, Amazon S3 peut envoyer les en-têtes de suivi aux abonnés aux événements en aval AWS Lambda, tels qu'Amazon SQS et Amazon SNS. X-Ray active les messages de suivi pour les notifications d’événements Amazon S3.

Vous pouvez utiliser la carte de suivi X-Ray pour afficher les connexions entre Amazon S3 et les autres services que votre application utilise. Vous pouvez également utiliser la console pour afficher des mesures comme la latence moyenne et les taux de défaillance. Pour plus d'informations sur la console X-Ray, consultez[Utiliser la console X-Ray](aws-xray-interface-console.md#xray-console).

Amazon S3 prend en charge l'instrumentation *d'en-tête HTTP par défaut*. Le SDK X-Ray remplit automatiquement l'en-tête de trace en tant qu'en-tête HTTP lorsque vous appelez Amazon S3 via le AWS SDK. L'en-tête de trace par défaut est porté par`X-Amzn-Trace-Id`. Pour en savoir plus sur le suivi des en-têtes, consultez la [En-tête de suivi](xray-concepts.md#xray-concepts-tracingheader) page conceptuelle. La propagation du contexte de trace Amazon S3 prend en charge les abonnés suivants : Lambda, SQS et SNS. Étant donné que SQS et SNS n'émettent pas eux-mêmes de données de segment, elles n'apparaîtront pas dans votre trace ou votre carte de trace lorsqu'elles sont déclenchées par S3, même s'ils propagent l'en-tête de suivi aux services en aval.

## Configuration des notifications d'événements Amazon S3
<a name="xray-services-s3-notification"></a>

Grâce à la fonctionnalité de notification Amazon S3, vous recevez des notifications lorsque  certains événements se produisent dans votre compartiment. Ces notifications peuvent ensuite être propagées aux destinations suivantes au sein de votre application :
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon Simple Queue Service (Amazon SQS)
+ AWS Lambda

Pour obtenir la liste des événements pris en charge, consultez la section [Types d'événements pris en charge dans le guide du développeur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types).

### Amazon SNS et Amazon SQS
<a name="xray-services-s3-notifications-snssqs"></a>

Pour publier des notifications sur une rubrique SNS ou une file d'attente SQS, vous devez d'abord accorder des autorisations Amazon S3. Pour accorder ces autorisations, vous devez associer une politique Gestion des identités et des accès AWS (IAM) à la rubrique SNS ou à la file d'attente SQS de destination. Pour en savoir plus sur les politiques IAM requises, consultez la section [Octroi d'autorisations pour publier des messages sur une rubrique SNS ou une file d'attente SQS](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-sns-sqs-permission-for-s3). 

Pour plus d'informations sur l'intégration de SNS et SQS à X-Ray, [Amazon SNS et AWS X-Ray](xray-services-sns.md) voir et. [Amazon SQS et AWS X-Ray](xray-services-sqs.md)

### AWS Lambda
<a name="xray-services-s3-notifications-lambda"></a>

Lorsque vous utilisez la console Amazon S3 pour configurer les notifications d'événements sur un compartiment S3 pour une fonction Lambda, la console définit les autorisations nécessaires sur la fonction Lambda afin qu'Amazon S3 soit autorisé à appeler la fonction depuis le compartiment. Pour plus d'informations, consultez [Comment activer et configurer les notifications d'événements pour un compartiment S3 ?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html) dans le guide de l'utilisateur de la console Amazon Simple Storage Service.

Vous pouvez également accorder à Amazon S3 des autorisations AWS Lambda pour appeler votre fonction Lambda. Pour plus d'informations, consultez [Tutoriel : Utilisation de AWS Lambda avec Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) dans le Guide du développeur AWS Lambda. 

Pour plus d'informations sur l'intégration de Lambda à X-Ray, consultez [Instrumentation du code Java dans Lambda](https://docs.aws.amazon.com/lambda/latest/dg/java-tracing.html). AWS 

# AWS Distro pour et OpenTelemetry AWS X-Ray
<a name="xray-services-adot"></a>

Utilisez le AWS Distro for OpenTelemetry (ADOT) pour collecter et envoyer des métriques et des traces à d'autres solutions de surveillance, telles qu'Amazon, CloudWatch Amazon Service AWS X-Ray et Amazon Managed OpenSearch Service for Prometheus. 

## AWS Distro pour OpenTelemetry
<a name="xray-services-adot-intro"></a>

The AWS Distro for OpenTelemetry (ADOT) est une AWS distribution basée sur le projet Cloud Native Computing Foundation (CNCF). OpenTelemetry OpenTelemetry fournit un ensemble unique d'open source APIs, de bibliothèques et d'agents pour collecter des traces et des métriques distribuées. Cette boîte à outils est une distribution de OpenTelemetry composants en amont SDKs, notamment des agents d'auto-instrumentation et des collecteurs testés, optimisés, sécurisés et pris en charge par AWS. 

Avec ADOT, les ingénieurs peuvent instrumenter leurs applications une seule fois et envoyer des métriques et des traces corrélées à plusieurs solutions de AWS surveillance, notamment Amazon CloudWatch, AWS X-Ray Amazon OpenSearch Service et Amazon Managed Service for Prometheus.

ADOT est intégré à un nombre croissant de Services AWS afin de simplifier l'envoi de traces et de mesures vers des solutions de surveillance telles que X-Ray. Voici quelques exemples de services intégrés à ADOT : 
+ *AWS Lambda*— les couches Lambda AWS gérées pour ADOT offrent une expérience plug-and-play utilisateur en instrumentant automatiquement une fonction Lambda, OpenTelemetry en l'intégrant à une out-of-the-box configuration pour AWS Lambda et X-Ray dans une couche facile à configurer. Les utilisateurs peuvent activer et désactiver OpenTelemetry leur fonction Lambda sans modifier le code. Pour plus d'informations, consultez [AWS Distro for Lambda OpenTelemetry ](https://aws-otel.github.io/docs/getting-started/lambda) 
+ *Amazon Elastic Container Service (ECS)* : collectez des métriques et des traces à partir d'applications Amazon ECS à l'aide de AWS Distro for OpenTelemetry Collector, pour les envoyer à X-Ray et à d'autres solutions de surveillance. Pour plus d'informations, consultez la section [Collecte des données de suivi des applications](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/trace-data.html) dans le guide du développeur Amazon ECS. 
+ *AWS App Runner* — App Runner prend en charge l'envoi de traces à X-Ray à l'aide de AWS Distro for OpenTelemetry (ADOT). Utilisez ADOT SDKs pour collecter des données de suivi pour vos applications conteneurisées, et utilisez X-Ray pour analyser et obtenir des informations sur votre application instrumentée. Pour plus d'informations, consultez [AWS App Runner et X-Ray](xray-services-app-runner.md). 

Pour plus d'informations sur la AWS distribution pour OpenTelemetry, y compris l'intégration avec des fonctionnalités supplémentaires Services AWS, consultez la [AWS distribution pour OpenTelemetry ](https://aws-otel.github.io/docs/introduction) la documentation. 

Pour plus d'informations sur l'instrumentation de votre application avec AWS Distro for et OpenTelemetry X-Ray, consultez [Instrumenter votre application avec](xray-instrumenting-your-app.md#xray-instrumenting-opentel) Distro pour. AWS OpenTelemetry 

# Suivi des modifications de configuration du chiffrement X-Ray avec AWS Config
<a name="xray-api-config"></a>

AWS X-Ray s'intègre AWS Config pour enregistrer les modifications de configuration apportées à vos ressources de chiffrement X-Ray. Vous pouvez l'utiliser AWS Config pour inventorier les ressources de chiffrement de X-Ray, vérifier l'historique de configuration de X-Ray et envoyer des notifications en fonction des modifications apportées aux ressources.

AWS Config prend en charge l'enregistrement des modifications des ressources de chiffrement X-Ray suivantes sous forme d'événements :
+ **Modifications de configuration** : modification ou ajout d'une clé de chiffrement, ou retour au paramètre de chiffrement par défaut de X-Ray.

Suivez les instructions ci-dessous pour savoir comment créer une connexion de base entre X-Ray et AWS Config. 

## Création d'un déclencheur de fonction Lambda
<a name="LambdaFunctionTrigger"></a>

Vous devez disposer de l'ARN d'une AWS Lambda fonction personnalisée avant de pouvoir générer une AWS Config règle personnalisée. Suivez ces instructions pour créer une fonction élémentaire avec Node.js qui renvoie à AWS Config une valeur conforme ou non conforme en fonction de l'état de la ressource `XrayEncryptionConfig`.

**Pour créer une fonction Lambda avec un AWS::Xray EncryptionConfig déclencheur de modification**

1. Ouvrez la [console Lambda](https://console.aws.amazon.com/lambda/home). Sélectionnez **Créer une fonction**.

1. Choisissez **Blueprints**, puis filtrez la bibliothèque de plans pour le **config-rule-change-triggered**plan. Cliquez sur le lien dans le plan ou choisissez **Configure (Configurer)** pour continuer.

1. Définissez les champs suivants pour configurer le plan :
   + Pour **Name (Nom)**, tapez un nom.
   + Pour **Role (Rôle)**, choisissez **Create new role from template(s) (Créer un rôle à partir d'un modèle)**.
   + Tapez un nom pour **Role name (Nom de rôle)**.
   + Pour **Policy templates (Modèles de stratégie)**, choisissez **AWS Config Rules permissions (Autorisations de règles &CC;)**.

1. Choisissez **Créer une fonction** pour créer et afficher votre fonction dans la AWS Lambda console.

1. Modifiez le code de votre fonction pour remplacer `AWS::EC2::Instance` par `AWS::XrayEncryptionConfig`. Vous pouvez également mettre à jour le champ de description pour refléter cette modification.

   **Code par défaut**

   ```
       if (configurationItem.resourceType !== 'AWS::EC2::Instance') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

   **Code mis à jour**

   ```
       if (configurationItem.resourceType !== 'AWS::XRay::EncryptionConfig') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

1. Ajoutez ce qui suit à votre rôle d'exécution dans IAM pour accéder à X-Ray. Ces autorisations permettent un accès en lecture seule à vos ressources X-Ray. Le fait de ne pas fournir l'accès aux ressources appropriées entraînera un message hors de portée AWS Config dès l'évaluation de la fonction Lambda associée à la règle.

   ```
       {
           "Sid": "Stmt1529350291539",
           "Action": [
               "xray:GetEncryptionConfig"
           ],
           "Effect": "Allow",
           "Resource": "*"
        }
   ```

## Création d'une AWS Config règle personnalisée pour la radiographie
<a name="ConfigRule"></a>

Lorsque la fonction Lambda est créée, notez son ARN et accédez à la AWS Config console pour créer votre règle personnalisée. 

**Pour créer une AWS Config règle pour X-Ray**

1. Ouvrez la page [**Rules (Règles)** de la console AWS Config](https://console.aws.amazon.com/config/home#/rules/view).

1. Choisissez **Add rule (Ajouter une règle)**, puis **Add custom rule (Ajouter une règle personnalisée)**.

1. Dans **AWS Lambda Function ARN**, insérez l'ARN associé à la fonction Lambda que vous souhaitez utiliser.

1. Choisissez le type de déclencheur à définir :
   + **Modifications de configuration** : AWS Config déclenche l'évaluation lorsqu'une ressource correspondant au champ d'application de la règle change de configuration. L'évaluation s'exécute après l' AWS Config envoi d'une notification de modification d'élément de configuration.
   + **Périodique** : AWS Config exécute des évaluations de la règle à la fréquence que vous choisissez (par exemple, toutes les 24 heures).

1. Pour **Resource type (Type de ressource)**, choisissez **EncryptionConfig**dans la section X-Ray.

1. Choisissez ****Save**** (Enregistrer).

La AWS Config console commence immédiatement à évaluer la conformité de la règle. L'évaluation peut prendre plusieurs minutes.

Maintenant que cette règle est conforme, AWS Config vous pouvez commencer à compiler un historique d'audit. AWS Config enregistre les modifications des ressources sous forme de chronologie. Pour chaque modification de la chronologie des événements, AWS Config génère un tableau au format fro/to pour montrer ce qui a changé dans la représentation JSON de la clé de chiffrement. Les deux modifications de champ associées à EncryptionConfig sont `Configuration.type` et`Configuration.keyID`.

## Exemples de résultat
<a name="Examples"></a>

Voici un exemple de AWS Config chronologie montrant les modifications apportées à des dates et heures spécifiques.

![\[AWS Config chronologie.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/ConfigTimeline.png)


Voici un exemple d'entrée de AWS Config modification. Le format de/à illustre ce qui a été modifié. Cet exemple montre que les paramètres de chiffrement par défaut de X-Ray ont été remplacés par une clé de chiffrement définie.

![\[Entrée de modification de la configuration de chiffrement X-Ray.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/ConfigChanges.png)


## Notifications Amazon SNS
<a name="SNSNotifs"></a>

Pour être informé des modifications de configuration, configurez AWS Config pour publier les notifications Amazon SNS. Pour plus d'informations, consultez la section [Surveillance AWS Config des modifications des ressources par e-mail](https://docs.aws.amazon.com/config/latest/developerguide/monitoring-resource-changes-by-email.html).

# AWS AppSync et AWS X-Ray
<a name="xray-services-appsync"></a>

Vous pouvez activer et suivre les demandes pour AWS AppSync. Pour plus d'informations, voir [Tracing with AWS X-Ray](https://docs.aws.amazon.com/appsync/latest/devguide/x-ray-tracing.html) pour obtenir des instructions.

Lorsque le suivi X-Ray est activé pour une AWS AppSync API, un [rôle lié au service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) Identity and Access Management est automatiquement créé dans votre compte avec les autorisations appropriées. Cela permet AWS AppSync d'envoyer des traces à X-Ray de manière sécurisée.

# Support de suivi actif d'Amazon API Gateway pour AWS X-Ray
<a name="xray-services-apigateway"></a>

Vous pouvez utiliser X-Ray pour suivre et analyser les demandes des utilisateurs lorsqu'elles transitent par votre Amazon API Gateway APIs pour accéder aux services sous-jacents. API Gateway prend en charge le suivi X-Ray pour tous les types de points de terminaison API Gateway : régionaux, optimisés pour les périphériques et privés. Vous pouvez utiliser X-Ray avec Amazon API Gateway partout Régions AWS où X-Ray est disponible. Pour plus d'informations, consultez [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) dans le manuel Amazon API Gateway Developer Guide.

**Note**  
X-Ray prend uniquement en charge le suivi pour REST APIs via API Gateway.

Amazon API Gateway fournit un support de [suivi actif](xray-services.md) pour AWS X-Ray. Activez le suivi actif sur les étapes de votre API pour échantillonner les demandes entrantes et envoyer des traces à X-Ray.

**Pour activer le suivi actif sur une étape d'API**

1. Ouvrez la console API Gateway à l'adresse [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

1. Choisissez une API.

1. Choisissez une étape.

1. Dans l'onglet **Logs/Tracing**, choisissez Enable **X-Ray Tracing**, puis sélectionnez **Save** Changes.

1. Dans le volet gauche de navigation, choisissez **Ressources**.

1. Pour redéployer l'API avec les nouveaux paramètres, choisissez le menu déroulant **Actions**, puis sélectionnez **Déployer** l'API.

API Gateway utilise des règles d'échantillonnage que vous définissez dans la console X-Ray pour déterminer les demandes à enregistrer. Vous pouvez créer des règles qui s' APIsappliquent uniquement ou uniquement aux demandes contenant certains en-têtes. API Gateway enregistre les en-têtes dans les attributs du segment, ainsi que des détails sur l'étape et la demande. Pour de plus amples informations, veuillez consulter [Configuration de règles d'échantillonnage](xray-console-sampling.md).

**Note**  
Lors du APIs suivi de [l'intégration HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/setup-http-integrations.html) entre REST et API Gateway, le nom de service de chaque segment est défini sur le chemin URL de la demande entre API Gateway et votre point de terminaison d'intégration HTTP, ce qui donne un nœud de service sur la carte de suivi de X-Ray pour chaque chemin d'URL unique. Un grand nombre de chemins d'URL peut faire en sorte que la carte de trace dépasse la limite de 10 000 nœuds, ce qui entraîne une erreur.  
Pour minimiser le nombre de nœuds de service créés par API Gateway, pensez à transmettre des paramètres dans la chaîne de requête URL ou dans le corps de la demande via POST. L'une ou l'autre approche garantit que les paramètres ne font pas partie du chemin d'URL, ce qui peut réduire le nombre de chemins d'URL et de nœuds de service distincts. 

Pour toutes les demandes entrantes, API Gateway ajoute un [en-tête de suivi](xray-concepts.md#xray-concepts-tracingheader) aux requêtes HTTP entrantes qui n'en ont pas déjà un.

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**Format d'identification X-Ray Trace**

Un X-Ray `trace_id` est composé de trois chiffres séparés par des tirets. Par exemple, `1-58406520-a006649127e371903a2de979`. Cela consiste notamment à :
+ Le numéro de version, qui est`1`.
+ L'heure de la demande d'origine sous Unix Epoch Time en utilisant **8 chiffres hexadécimaux**.

  Par exemple, le 1er décembre 2016 à 10 h 00 PST est exprimé en `1480615200` secondes ou `58406520` en chiffres hexadécimaux.
+ Identifiant 96 bits unique au monde pour la trace en **24 chiffres hexadécimaux**.

Si le suivi actif est désactivé, l'étape enregistre toujours un segment si la demande provient d'un service qui a échantillonné la demande et démarré une trace. Par exemple, une application Web instrumentée peut appeler une API API Gateway avec un client HTTP. Lorsque vous instrumentez un client HTTP avec le SDK X-Ray, celui-ci ajoute un en-tête de suivi à la demande sortante contenant la décision d'échantillonnage. API Gateway lit l'en-tête de suivi et crée un segment pour les requêtes échantillonnées.

Si vous utilisez API Gateway pour [générer un SDK Java pour votre API](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-generate-sdk.html), vous pouvez instrumenter le client du SDK en ajoutant un gestionnaire de requêtes avec le générateur de clients, de la même manière que vous instrumentiez manuellement un AWS client SDK. Pour obtenir des instructions, consultez [Suivi des appels du AWS SDK avec le SDK X-Ray pour Java](xray-sdk-java-awssdkclients.md).

# Amazon EC2 et AWS App Mesh
<a name="xray-services-appmesh"></a>

AWS X-Ray s'intègre [AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/what-is-app-mesh.html)pour gérer les proxys Envoy pour les microservices. App Mesh fournit une version d'Envoy que vous pouvez configurer pour envoyer des données de suivi au daemon X-Ray exécuté dans un conteneur de la même tâche ou du même pod. X-Ray prend en charge le traçage avec les services compatibles App Mesh suivants : 
+ Amazon Elastic Container Service (Amazon ECS)
+ Amazon Elastic Kubernetes Service (Amazon EKS)
+ Amazon Elastic Compute Cloud (Amazon EC2)

Utilisez les instructions suivantes pour apprendre à activer le suivi X-Ray via l'application Mesh.

![\[Une carte de suivi qui montre les traces entre les clients et les services App Mesh.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/appmesh-traceContents.png)


Pour configurer le proxy Envoy afin qu'il envoie des données à X-Ray, définissez la [variable d'`ENABLE_ENVOY_XRAY_TRACING`environnement](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html#envoy-config) dans sa définition de conteneur.

**Note**  
La version App Mesh d'Envoy n'envoie actuellement pas de traces en fonction des [règles d'échantillonnage](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html) configurées. Il utilise plutôt un taux d'échantillonnage fixe de 5 % pour la version 1.16.3 ou ultérieure d'Envoy, ou un taux d'échantillonnage de 50 % pour les versions d'Envoy antérieures à la version 1.16.3. 

**Example Définition du conteneur Envoy pour Amazon ECS**  

```
{
      "name": "envoy",
      "image": "public.ecr.aws/appmesh/aws-appmesh-envoy:envoy-version",
      "essential": true,
      "environment": [
        {
          "name": "APPMESH_VIRTUAL_NODE_NAME",
          "value": "mesh/myMesh/virtualNode/myNode"
        },
        {
          "name": "ENABLE_ENVOY_XRAY_TRACING",
          "value": "1"
        }
      ],
      "healthCheck": {
        "command": [
          "CMD-SHELL",
          "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live"
        ],
        "startPeriod": 10,
        "interval": 5,
        "timeout": 2,
        "retries": 3
      }
```

**Note**  
Pour en savoir plus sur les adresses régionales Envoy disponibles, consultez [l'image d'Envoy](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) dans le guide de AWS App Mesh l'utilisateur.

Pour plus de détails sur l'exécution du démon X-Ray dans un conteneur, consultez[Exécution du daemon X-Ray sur Amazon ECS](xray-daemon-ecs.md). Pour un exemple d'application qui inclut un service mesh, un microservice, un proxy Envoy et un daemon X-Ray, déployez l'`colorapp`exemple dans le référentiel [App Mesh Examples GitHub](https://github.com/aws/aws-app-mesh-examples/tree/master/examples).

**En savoir plus**
+ [Mise en route avec AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting_started.html)
+ [Mise en route avec Amazon ECS AWS App Mesh et Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-getting-started-ecs.html)

# AWS App Runner et X-Ray
<a name="xray-services-app-runner"></a>

 AWS App Runner est un Service AWS outil qui fournit un moyen rapide, simple et rentable de déployer directement à partir du code source ou d'une image de conteneur vers une application Web évolutive et sécurisée dans le AWS Cloud. Vous n'avez pas besoin d'apprendre de nouvelles technologies, de choisir le service informatique à utiliser ou de savoir comment approvisionner et configurer les AWS ressources. Consultez [Qu'est-ce qu' AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html) pour plus d'informations. 

 AWS App Runner envoie des traces à X-Ray en les intégrant à [AWS Distro for OpenTelemetry](xray-services-adot.md) (ADOT). Utilisez ADOT SDKs pour collecter des données de suivi pour vos applications conteneurisées, et utilisez X-Ray pour analyser et obtenir des informations sur votre application instrumentée. Pour plus d'informations, consultez la section [Suivi de votre application App Runner avec X-Ray](https://docs.aws.amazon.com/apprunner/latest/dg/monitor-xray.html). 

# Enregistrement des appels d'API X-Ray avec AWS CloudTrail
<a name="xray-api-cloudtrail"></a>

AWS X-Ray est intégré à [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un Service AWS. CloudTrail capture tous les appels d'API pour X-Ray sous forme d'événements. Les appels capturés incluent des appels provenant de la console X-Ray et des appels de code vers les opérations de l'API X-Ray. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite à X-Ray, l'adresse IP à partir de laquelle la demande a été faite, la date à laquelle elle a été faite et des informations supplémentaires.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer :
+ Si la demande a été effectuée avec des informations d’identification d’utilisateur root ou d’utilisateur root.
+ Si la demande a été faite au nom d'un utilisateur du centre d'identité IAM.
+ Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.
+ Si la requête a été effectuée par un autre Service AWS.

CloudTrail est actif dans votre compte Compte AWS lorsque vous créez le compte et vous avez automatiquement accès à l'**historique des CloudTrail événements**. L'**historique des CloudTrail événements** fournit un enregistrement consultable, consultable, téléchargeable et immuable des 90 derniers jours des événements de gestion enregistrés dans un. Région AWS Pour plus d'informations, consultez la section [Utilisation de l'historique des CloudTrail événements](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) dans le *guide de AWS CloudTrail l'utilisateur*. La consultation de CloudTrail l'**historique des événements est gratuite**.

Pour un enregistrement continu des événements de vos 90 Compte AWS derniers jours, créez un magasin de données sur les événements de Trail ou [CloudTrailLake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

**CloudTrail sentiers**  
Un *suivi* permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Tous les sentiers créés à l'aide du AWS Management Console sont multirégionaux. Vous ne pouvez créer un journal de suivi en une ou plusieurs régions à l'aide de l' AWS CLI. Il est recommandé de créer un parcours multirégional, car vous capturez l'activité dans l'ensemble Régions AWS de votre compte. Si vous créez un journal de suivi pour une seule région, il convient de n'afficher que les événements enregistrés dans le journal de suivi pour une seule région Région AWS. Pour plus d'informations sur les journaux de suivi, consultez [Créez un journal de suivi dans vos Compte AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) et [Création d'un journal de suivi pour une organisation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) dans le *AWS CloudTrail Guide de l'utilisateur*.  
Vous pouvez envoyer une copie de vos événements de gestion en cours dans votre compartiment Amazon S3 gratuitement CloudTrail en créant un journal. Toutefois, des frais de stockage Amazon S3 sont facturés. Pour plus d'informations sur la CloudTrail tarification, consultez la section [AWS CloudTrail Tarification](https://aws.amazon.com/cloudtrail/pricing/). Pour obtenir des informations sur la tarification Amazon S3, consultez [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

**CloudTrail Stockages de données sur les événements du lac**  
*CloudTrail Lake* vous permet d'exécuter des requêtes SQL sur vos événements. CloudTrail Lake convertit les événements existants au format JSON basé sur les lignes au format [Apache ORC](https://orc.apache.org/). ORC est un format de stockage en colonnes qui est optimisé pour une récupération rapide des données. Les événements sont agrégés dans des *magasins de données d’événement*. Ceux-ci constituent des collections immuables d’événements basées sur des critères que vous sélectionnez en appliquant des [sélecteurs d’événements avancés](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors). Les sélecteurs que vous appliquez à un magasin de données d’événement contrôlent les événements qui persistent et que vous pouvez interroger. Pour plus d'informations sur CloudTrail Lake, consultez la section [Travailler avec AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) dans le *guide de AWS CloudTrail l'utilisateur*.  
CloudTrail Les stockages et requêtes de données sur les événements de Lake entraînent des coûts. Lorsque vous créez un magasin de données d’événement, vous choisissez l’[option de tarification](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option) que vous voulez utiliser pour le magasin de données d’événement. L’option de tarification détermine le coût d’ingestion et de stockage des événements, ainsi que les périodes de conservation par défaut et maximale pour le magasin de données d’événement. Pour plus d'informations sur la CloudTrail tarification, consultez la section [AWS CloudTrail Tarification](https://aws.amazon.com/cloudtrail/pricing/).

**Topics**
+ [Événements de gestion des rayons X dans CloudTrail](#xray-api-cloudtrail-mgmt)
+ [Événements liés aux données X-Ray dans CloudTrail](#cloudtrail-data-events)
+ [Exemples d'événements X-Ray](#xray-cloudtrail-examples)

## Événements de gestion des rayons X dans CloudTrail
<a name="xray-api-cloudtrail-mgmt"></a>

AWS X-Ray s'intègre AWS CloudTrail pour enregistrer les actions d'API effectuées par un utilisateur, un rôle ou un Service AWS in X-Ray. Vous pouvez l'utiliser CloudTrail pour surveiller les demandes d'API X-Ray en temps réel et stocker les journaux dans Amazon S3, Amazon CloudWatch Logs et Amazon CloudWatch Events. X-Ray prend en charge l'enregistrement des actions suivantes sous forme d'événements dans des fichiers CloudTrail journaux :

**Actions d'API prises en charge**
+ [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html)

## Événements liés aux données X-Ray dans CloudTrail
<a name="cloudtrail-data-events"></a>

[Les événements de données](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) fournissent des informations sur les opérations de ressources effectuées sur ou dans une ressource (par exemple [https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html), qui télécharge des documents segmentés vers X-Ray).

Ils sont également connus sous le nom opérations de plans de données. Les événements de données sont souvent des activités à fort volume. Par défaut, CloudTrail n'enregistre pas les événements liés aux données. L'**historique des CloudTrail événements** n'enregistre pas les événements liés aux données.

Des frais supplémentaires s’appliquent pour les événements de données. Pour plus d'informations sur la CloudTrail tarification, consultez la section [AWS CloudTrail Tarification](https://aws.amazon.com/cloudtrail/pricing/).

Vous pouvez enregistrer les événements de données pour les types de ressources X-Ray à l'aide de la CloudTrail console ou AWS CLI des opérations de CloudTrail l'API. Pour plus d’informations sur la façon de journaliser les événements de données, consultez [Journalisation des événements de données avec la AWS Management Console](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) et [Journalisation des événements de données avec l’ AWS Command Line Interface](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI) dans le *Guide de l’utilisateur AWS CloudTrail *.

Le tableau suivant répertorie les types de ressources X-Ray pour lesquels vous pouvez enregistrer des événements de données. La colonne **Type d'événement de données (console)** indique la valeur à choisir dans la liste des **types d'événements de données** de la CloudTrail console. La colonne de valeur **resources.type indique la `resources.type` valeur** que vous devez spécifier lors de la configuration de sélecteurs d'événements avancés à l'aide du ou. AWS CLI CloudTrail APIs La CloudTrail colonne **Données APIs enregistrées** indique les appels d'API enregistrés CloudTrail pour le type de ressource. 


| Type d’événement de données (console) | valeur resources.type | Données APIs enregistrées sur CloudTrail | 
| --- | --- | --- | 
| X-Ray Trace |  AWS::XRay::Trace  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/xray-api-cloudtrail.html)  | 

Vous pouvez configurer des sélecteurs d'événements avancés pour filtrer les événements `eventName` et `readOnly` des champs pour n'enregistrer que les événements importants pour vous. Cependant, vous ne pouvez pas sélectionner d'événements en ajoutant le sélecteur de `resources.ARN` champs, car X-Ray Traces n'en possède ARNs pas. Pour plus d’informations sur ces champs, consultez [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) dans la *Référence des API AWS CloudTrail *. Voici un exemple de la manière d'exécuter la [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html) AWS CLI commande pour enregistrer les événements liés aux données lors d'un CloudTrail suivi. Vous devez exécuter la commande ou spécifier la région dans laquelle le suivi a été créé ; sinon, l'opération renvoie une `InvalidHomeRegionException` exception.

```
aws cloudtrail put-event-selectors --trail-name myTrail --advanced-event-selectors \
'{
   "AdvancedEventSelectors": [ 
      {
         "FieldSelectors": [
            { "Field": "eventCategory", "Equals": ["Data"] },
            { "Field": "resources.type", "Equals": ["AWS::XRay::Trace"] },
            { "Field": "eventName", "Equals": ["PutTraceSegments","GetSamplingTargets"] }
         ],
         "Name": "Log X-Ray PutTraceSegments and GetSamplingTargets data events"
      }
   ]
}'
```

## Exemples d'événements X-Ray
<a name="xray-cloudtrail-examples"></a>

### Exemple d'événement de gestion, `GetEncryptionConfig`
<a name="xray-example-management"></a>

Voici un exemple d'entrée du GetEncryptionConfig journal X-Ray dans CloudTrail.

**Example**  

```
{
    "eventVersion"=>"1.05",
    "userIdentity"=>{
        "type"=>"AssumedRole",
        "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName",
        "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName",
        "accountId"=>"123456789012",
        "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE",
        "sessionContext"=>{
            "attributes"=>{
                "mfaAuthenticated"=>"false",
                "creationDate"=>"2023-7-01T00:24:36Z"
            },
            "sessionIssuer"=>{
                "type"=>"Role",
                "principalId"=>"AROAJVHBZWD3DN6CI2MHM",
                "arn"=>"arn:aws:iam::123456789012:role/MyRole",
                "accountId"=>"123456789012",
                "userName"=>"MyRole"
            }
        }
    },
    "eventTime"=>"2023-7-01T00:24:36Z",
    "eventSource"=>"xray.amazonaws.com",
    "eventName"=>"GetEncryptionConfig",
    "awsRegion"=>"us-east-2",
    "sourceIPAddress"=>"33.255.33.255",
    "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux",
    "requestParameters"=>nil,
    "responseElements"=>nil,
    "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb",
    "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f",
    "eventType"=>"AwsApiCall",
    "recipientAccountId"=>"123456789012"
}
```

### Exemple d'événement lié aux données, `PutTraceSegments`
<a name="xray-example-data"></a>

Voici un exemple d'entrée dans le journal PutTraceSegments des événements de données X-Ray CloudTrail.

**Example**  

```
{
  "eventVersion": "1.09",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAWYXPW54Y4NEXAMPLE:i-0dzz2ac111c83zz0z",
    "arn": "arn:aws:sts::012345678910:assumed-role/my-service-role/i-0dzz2ac111c83zz0z",
    "accountId": "012345678910",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAWYXPW54Y4NEXAMPLE",
        "arn": "arn:aws:iam::012345678910:role/service-role/my-service-role",
        "accountId": "012345678910",
        "userName": "my-service-role"
      },
      "attributes": {
        "creationDate": "2024-01-22T17:34:11Z",
        "mfaAuthenticated": "false"
      },
      "ec2RoleDelivery": "2.0"
    }
  },
  "eventTime": "2024-01-22T18:22:05Z",
  "eventSource": "xray.amazonaws.com",
  "eventName": "PutTraceSegments",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "198.51.100.0",
  "userAgent": "aws-sdk-ruby3/3.190.0 md/internal ua/2.0 api/xray#1.0.0 os/linux md/x86_64 lang/ruby#2.7.8 md/2.7.8 cfg/retry-mode#legacy",
  "requestParameters": {
    "traceSegmentDocuments": [
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0001",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0002"
    ]
  },
  "responseElements": {
    "unprocessedTraceSegments": []
  },
  "requestID": "5zzzzz64-acbd-46ff-z544-451a3ebcb2f8",
  "eventID": "4zz51z7z-77f9-44zz-9bd7-6c8327740f2e",
  "readOnly": false,
  "resources": [
    {
      "type": "AWS::XRay::Trace"
    }
  ],
  "eventType": "AwsApiCall",
  "managementEvent": false,
  "recipientAccountId": "012345678910",
  "eventCategory": "Data",
  "tlsDetails": {
    "tlsVersion": "TLSv1.2",
    "cipherSuite": "ZZZZZ-RSA-AAA128-GCM-SHA256",
    "clientProvidedHostHeader": "example.us-west-2.xray.cloudwatch.aws.dev"
  }
}
```

# CloudWatch intégration avec X-Ray
<a name="xray-services-cloudwatch"></a>

AWS X-Ray s'intègre à [CloudWatch Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html), CloudWatch RUM et CloudWatch Synthetics pour faciliter le suivi de l'état de vos applications. Activez votre application pour Application Signals afin de surveiller et de résoudre les problèmes liés à l'état de fonctionnement de vos services, de vos pages clients, des canaries Synthetics et des dépendances des services.

En corrélant CloudWatch les métriques, les journaux et les traces X-Ray, la carte de suivi X-Ray fournit une end-to-end vue de vos services pour vous aider à identifier rapidement les problèmes de performance et à identifier les utilisateurs concernés.

Avec CloudWatch RUM, vous pouvez effectuer une surveillance réelle des utilisateurs afin de collecter et de visualiser les données côté client concernant les performances de votre application Web à partir de sessions utilisateur réelles en temps quasi réel. Avec AWS X-Ray et CloudWatch RUM, vous pouvez analyser et déboguer le chemin de la demande en commençant par les utilisateurs finaux de votre application via les services AWS gérés en aval. Cela vous permet d’identifier les tendances de latence et les erreurs qui ont un impact sur les utilisateurs finaux. 

**Topics**
+ [CloudWatch RUM et AWS X-Ray](xray-services-RUM.md)
+ [Déboguer des canaris CloudWatch synthétiques à l'aide de X-Ray](xray-services-cloudwatch-synthetics.md)

# CloudWatch RUM et AWS X-Ray
<a name="xray-services-RUM"></a>

Avec Amazon CloudWatch RUM, vous pouvez effectuer une surveillance réelle des utilisateurs afin de collecter et de consulter les données côté client concernant les performances de votre application Web à partir de sessions utilisateur réelles en temps quasi réel. Avec AWS X-Ray et CloudWatch RUM, vous pouvez analyser et déboguer le chemin de la demande en commençant par les utilisateurs finaux de votre application via les services AWS gérés en aval. Cela vous permet d’identifier les tendances de latence et les erreurs qui ont un impact sur les utilisateurs finaux. 

Une fois que vous avez activé le suivi des sessions utilisateur par X-Ray, CloudWatch RUM ajoute un en-tête de trace X-Ray aux requêtes HTTP autorisées et enregistre un segment X-Ray pour les requêtes HTTP autorisées. Vous pouvez ensuite voir les traces et les segments de ces sessions utilisateur dans le X-Ray et les CloudWatch consoles, y compris la carte de suivi X-Ray. 

**Note**  
CloudWatch RUM ne s'intègre pas aux règles d'échantillonnage X-Ray. Choisissez plutôt un pourcentage d'échantillonnage lorsque vous configurez votre application pour utiliser CloudWatch RUM. Les traces envoyées depuis CloudWatch RUM peuvent entraîner des frais supplémentaires. Pour en savoir plus, consultez [Pricing AWS X-Ray](https://aws.amazon.com/xray/pricing/) (Tarification). 

Par défaut, les traces côté client envoyées depuis CloudWatch RUM ne sont pas connectées aux traces côté serveur. Pour connecter les traces côté client aux traces côté serveur, configurez le client Web CloudWatch RUM pour ajouter un en-tête de trace X-Ray à ces requêtes HTTP. 

**Avertissement**  
La configuration du client Web CloudWatch RUM pour ajouter un en-tête de trace X-Ray aux requêtes HTTP peut entraîner l'échec du partage de ressources entre origines (CORS). Pour éviter cela, ajoutez l'en-tête `X-Amzn-Trace-Id` HTTP à la liste des en-têtes autorisés dans la configuration CORS de votre service en aval. Si vous utilisez API Gateway en aval, consultez la section [Activation de CORS pour une ressource d'API REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html). Nous vous recommandons fortement de tester votre application avant d'ajouter un en-tête de suivi X-Ray côté client dans un environnement de production. Pour plus d'informations, consultez la [documentation du client Web CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md#http).

Pour plus d'informations sur la surveillance des utilisateurs réels dans CloudWatch, voir [Utiliser CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html). Pour configurer votre application pour utiliser CloudWatch RUM, y compris le suivi des sessions utilisateur avec X-Ray, voir [Configurer une application pour utiliser CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started.html). 

# Déboguer des canaris CloudWatch synthétiques à l'aide de X-Ray
<a name="xray-services-cloudwatch-synthetics"></a>

CloudWatch Synthetics est un service entièrement géré qui vous permet de surveiller vos terminaux APIs et d'utiliser des canaries scriptés qui s'exécutent 24 heures par jour, une fois par minute. 

Vous pouvez personnaliser les scripts canari pour vérifier les changements en termes de : 
+ Disponibilité
+ Latence
+ Transactions
+ Liens brisés ou morts
+ Step-by-step achèvement des tâches
+ Erreurs de chargement de page
+ Latences de chargement pour les actifs de l'interface utilisateur
+ Flux d'assistants complexes
+ Flux de caisse dans votre application

Les scripts canaris suivent les mêmes itinéraires et effectuent les mêmes actions et comportements que vos clients, et vérifient continuellement l'expérience client.

Pour en savoir plus sur la configuration des tests Synthetics, consultez [Utilisation des synthétiques pour créer et gérer des scripts canaris](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html).

![\[Exemple de nœud canary dans la carte de suivi X-Ray.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-show-canary-active.png)


Les exemples suivants montrent des cas d'utilisation courants pour les problèmes de débogage que vos scripts canaris Synthetics soulèvent. Chaque exemple illustre une stratégie clé pour le débogage à l'aide de la carte de trace ou de la console X-Ray Analytics.

Pour plus d'informations sur la façon de lire et d'interagir avec la carte de trace, consultez la section [Affichage de la carte des services](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html#xray-console-servicemap). 

Pour plus d'informations sur la façon de lire et d'interagir avec la console X-Ray Analytics, consultez [Interaction avec la console AWS X-Ray Analytics](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html). 

**Topics**
+ [Afficher les canaris avec un nombre accru de rapports d'erreurs sur la carte de suivi](#xray-services-cloudwatch-synthetics-workflows-which-canary)
+ [Utilisez des cartes détaillées pour les traces individuelles afin de visualiser chaque demande en détail](#xray-services-cloudwatch-synthetics-workflows-trace-map)
+ [Détermination de la cause racine des défaillances en cours dans les services en amont et en aval](#xray-services-cloudwatch-synthetics-workflows-root-cause)
+ [Identification des goulets d'étranglement et les tendances en matière de performances](#xray-services-cloudwatch-synthetics-workflows-bottlenecks)
+ [Comparaison des taux de latence et d'erreur ou d'erreur avant et après les modifications](#xray-services-cloudwatch-synthetics-workflows-latency)
+ [Déterminer la couverture canarienne requise pour tous APIs et URLs](#xray-services-cloudwatch-synthetics-workflows-impact)
+ [Utilisation des groupes pour se concentrer sur les tests synthétiques](#xray-services-cloudwatch-synthetics-groups)

## Afficher les canaris avec un nombre accru de rapports d'erreurs sur la carte de suivi
<a name="xray-services-cloudwatch-synthetics-workflows-which-canary"></a>

 [Pour voir quels canaris présentent une augmentation du nombre d'erreurs, de défaillances, de taux de limitation ou de temps de réponse lents sur votre carte de suivi X-Ray, vous pouvez mettre en évidence les nœuds clients Synthetics Canary à l'aide du filtre. `Client::Synthetic`](xray-console-filters.md) Cliquez sur un nœud pour afficher la distribution du temps de réponse de l'ensemble de la demande. Cliquez sur une arête entre deux nœuds pour afficher des informations détaillées sur les demandes ayant transité par cette connexion. Vous pouvez également afficher les nœuds inférés « distants » pour les services en aval associés sur votre carte de trace. 

Lorsque vous cliquez sur le nœud Synthetics, un bouton **Afficher dans Synthetics** se trouve sur le panneau latéral qui vous redirige vers la console Synthetics où vous pouvez consulter les détails de Canary.

![\[Exemple de nœud canari sur une carte de traçage aux rayons X avec les détails du service.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-servicedetail.png)


## Utilisez des cartes détaillées pour les traces individuelles afin de visualiser chaque demande en détail
<a name="xray-services-cloudwatch-synthetics-workflows-trace-map"></a>

Pour déterminer quel service entraîne le plus de latence ou est à l'origine d'une erreur, appelez la carte des détails du suivi en sélectionnant le tracé dans la carte de suivi. Les cartes détaillées des traces individuelles indiquent le end-to-end chemin d'une seule demande. Utilisez cette option pour comprendre les services invoqués et visualiser les services en amont et en aval.

![\[Exemple de nœud canari sur la carte détaillée des tracés aux rayons X.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-tracemap.png)


## Détermination de la cause racine des défaillances en cours dans les services en amont et en aval
<a name="xray-services-cloudwatch-synthetics-workflows-root-cause"></a>

Une fois que vous avez reçu une CloudWatch alarme signalant une défaillance d'un Synthetics Canary, utilisez la modélisation statistique des données de trace dans X-Ray pour déterminer la cause première probable du problème dans la console X-Ray Analytics. Dans la console Analytics, le tableau **Response Time Root Cause** indique les chemins d'entités enregistrés. X-Ray détermine la trajectoire de votre trace qui est la cause la plus probable du temps de réponse. Le format indique une hiérarchie d’entités qui a été rencontrée, qui constitue la cause racine du temps de réponse. 

L'exemple suivant montre que le test Synthetics pour l'API « XXX » exécuté sur API Gateway échoue en raison d'une exception de capacité de débit provenant de la table Amazon DynamoDB.

![\[Exemple de nœud canary dans la carte de suivi X-Ray.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-active-select.png)


![\[Exemple de cause racine du nœud canary.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-rootcause.png)


![\[Exemple de filtre d'annotation indiquant le nœud Canary.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-showannot.png)


## Identification des goulets d'étranglement et les tendances en matière de performances
<a name="xray-services-cloudwatch-synthetics-workflows-bottlenecks"></a>

Vous pouvez visualiser les tendances des performances de votre terminal au fil du temps en utilisant le trafic continu provenant de vos canaris Synthetics pour remplir une carte des détails des traces sur une période donnée. 

![\[Exemple de filtre d'annotation indiquant le nœud Canary.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-distribution.png)


## Comparaison des taux de latence et d'erreur ou d'erreur avant et après les modifications
<a name="xray-services-cloudwatch-synthetics-workflows-latency"></a>

Pincez l'heure à laquelle un changement s'est produit pour corréler ce changement à une augmentation du nombre de problèmes détectés par vos canaris. Utilisez la console X-Ray Analytics pour définir les plages de temps avant et après comme des ensembles de traces différents, ce qui permet de différencier visuellement la distribution des temps de réponse.

![\[Exemple de filtre d'annotation indiquant le nœud Canary.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-compare.png)


## Déterminer la couverture canarienne requise pour tous APIs et URLs
<a name="xray-services-cloudwatch-synthetics-workflows-impact"></a>

 Utilisez X-Ray Analytics pour comparer l'expérience des canarys avec les utilisateurs. L'interface utilisateur ci-dessous montre une ligne de tendance bleue pour les canarys et une ligne verte pour les utilisateurs. Vous pouvez également identifier que deux d'entre eux URLs ne sont pas soumis au test Canary.

![\[Exemple de filtre d'annotation indiquant le nœud Canary.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-vs-customer.png)


## Utilisation des groupes pour se concentrer sur les tests synthétiques
<a name="xray-services-cloudwatch-synthetics-groups"></a>

 Vous pouvez créer un groupe X-Ray à l'aide d'une expression de filtre pour vous concentrer sur un certain ensemble de flux de travail, tels que les tests Synthetics pour l'application « www » en cours d'exécution. AWS Elastic Beanstalk Utilisez des [mots clés complexes](xray-console-filters.md#console-filters-complex) `service()` et `edge()` filtrez les services et les limites.

**Example Expression de filtre de groupe**  

```
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))" 
```

![\[Exemple de nœuds pour Elastic Beanstalk www.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/synthetics-canary-active-www.png)


# AWS Elastic Beanstalk et AWS X-Ray
<a name="xray-services-beanstalk"></a>

**Note**  
Avis de SDK/Daemon maintenance de X-Ray — Le 25 février 2026, le AWS X-Ray SDKs/Daemon passera en mode maintenance, où les versions du SDK et du Daemon de X-Ray AWS seront limitées uniquement pour résoudre les problèmes de sécurité. Pour plus d'informations sur le calendrier de support, consultez[Chronologie du support pour le SDK et Daemon X-Ray](xray-sdk-daemon-timeline.md). Nous vous recommandons de migrer vers OpenTelemetry. Pour plus d'informations sur la migration vers OpenTelemetry, consultez la section [Migration de l'instrumentation X-Ray vers OpenTelemetry l'instrumentation](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html).

AWS Elastic Beanstalk les plateformes incluent le daemon X-Ray. Vous pouvez [exécuter le daemon](xray-daemon-beanstalk.md) en définissant une option dans la console Elastic Beanstalk ou à l'aide d'un fichier de configuration.

Sur la plateforme Java SE, vous pouvez utiliser un fichier Buildfile pour créer votre application avec Maven ou Gradle sur l'instance. Le SDK X-Ray pour Java AWS SDK pour Java est disponible auprès de Maven. Vous pouvez donc déployer uniquement le code de votre application et le compiler sur instance afin d'éviter de regrouper et de télécharger toutes vos dépendances.

Vous pouvez utiliser les propriétés de l'environnement Elastic Beanstalk pour configurer le SDK X-Ray. La méthode utilisée par Elastic Beanstalk pour transmettre les propriétés de l'environnement à votre application varie en fonction de la plateforme. Utilisez les variables d'environnement ou les propriétés système du SDK X-Ray en fonction de votre plate-forme.
+ **[Plateforme Node.js](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html)** — Utiliser des [variables d'environnement](xray-sdk-nodejs-configuration.md#xray-sdk-nodejs-configuration-envvars)
+ **[Plateforme Java SE](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html)** — Utiliser des [variables d'environnement](xray-sdk-java-configuration.md#xray-sdk-java-configuration-envvars)
+ **[Plateforme Tomcat](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html)** — Utiliser les propriétés [du système](xray-sdk-java-configuration.md#xray-sdk-java-configuration-sysprops)

Pour plus d'informations, consultez [la section Configuration du AWS X-Ray débogage](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-configuration-debugging.html) dans le guide du AWS Elastic Beanstalk développeur.

# Elastic Load Balancing et AWS X-Ray
<a name="xray-services-elb"></a>

Les équilibreurs de charge des applications Elastic Load Balancing ajoutent un identifiant de trace aux requêtes HTTP entrantes dans un en-tête nommé`X-Amzn-Trace-Id`.

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**Format d'identification X-Ray Trace**

Un X-Ray `trace_id` est composé de trois chiffres séparés par des tirets. Par exemple, `1-58406520-a006649127e371903a2de979`. Cela inclut notamment les éléments suivants :
+ Le numéro de version, qui est`1`.
+ L'heure de la demande initiale sous Unix Epoch Time en utilisant **8 chiffres hexadécimaux**.

  Par exemple, le 1er décembre 2016 à 10 h 00 PST est exprimé en `1480615200` secondes ou `58406520` en chiffres hexadécimaux.
+ Identifiant 96 bits unique au monde pour la trace en **24 chiffres hexadécimaux**.

Les équilibreurs de charge n'envoient pas de données à X-Ray et n'apparaissent pas sous forme de nœud sur votre carte de service.

Pour plus d'informations, consultez la section [Request Tracing for Your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-request-tracing.html) dans le manuel Elastic Load Balancing Developer Guide.

# Amazon EventBridge et AWS X-Ray
<a name="xray-services-eventbridge"></a>

AWS X-Ray s'intègre EventBridge à Amazon pour suivre les événements transmis EventBridge. [Si un service instrumenté avec le SDK X-Ray envoie des événements à EventBridge, le contexte de trace est propagé aux cibles d'événements en aval dans l'en-tête de suivi.](xray-concepts.md#xray-concepts-tracingheader) Le SDK X-Ray récupère automatiquement l'en-tête de traçage et l'applique à toute instrumentation ultérieure. Cette continuité permet aux utilisateurs de suivre, d'analyser et de déboguer l'ensemble des services en aval et fournit une vue plus complète de leur système. 

Pour plus d'informations, voir [EventBridge X-Ray Integration](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-xray-integ.html) dans le *guide de EventBridge l'utilisateur*.

## Affichage de la source et des cibles sur la carte du service X-Ray
<a name="xray-services-eventbridge-service-map"></a>

La [carte de suivi](xray-console-servicemap.md) X-Ray affiche un nœud d' EventBridge événement qui connecte les services source et cible, comme dans l'exemple suivant :

![\[X-Ray affiche un nœud d' EventBridge événement qui connecte les services source et cible\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/service-map-eventbridge.png)


## Propagation du contexte de suivi vers les cibles des événements
<a name="xray-services-eventbridge-auto-inject"></a>

Le SDK X-Ray permet à la source d' EventBridge événements de propager le contexte de trace aux cibles d'événements en aval. Les exemples spécifiques au langage suivants illustrent l'appel EventBridge à partir d'une fonction Lambda sur laquelle le suivi [actif](https://docs.aws.amazon.com//lambda/latest/dg/services-xray.html#services-xray-api) est activé :

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

Ajoutez les dépendances nécessaires pour X-Ray :
+ [AWS X-Ray SDK pour Java](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray/)
+ [AWS X-Ray SDK Recorder pour Java](https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk/)

```
package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.services.eventbridge.AmazonEventBridge;
import com.amazonaws.services.eventbridge.AmazonEventBridgeClientBuilder;
import com.amazonaws.services.eventbridge.model.PutEventsRequest;
import com.amazonaws.services.eventbridge.model.PutEventsRequestEntry;
import com.amazonaws.services.eventbridge.model.PutEventsResult;
import com.amazonaws.services.eventbridge.model.PutEventsResultEntry;
import com.amazonaws.xray.handlers.TracingHandler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.StringBuilder;
import java.util.Map;
import java.util.List;
import java.util.Date;
import java.util.Collections;

/*
   Add the necessary dependencies for XRay:
   https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray
   https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk
*/
public class Handler implements RequestHandler<SQSEvent, String>{
  private static final Logger logger = LoggerFactory.getLogger(Handler.class);

  /*
    build EventBridge client
  */
  private static final AmazonEventBridge eventsClient = AmazonEventBridgeClientBuilder
          .standard()
          // instrument the EventBridge client with the XRay Tracing Handler.
          // the AWSXRay globalRecorder will retrieve the tracing-context 
          // from the lambda function and inject it into the HTTP header.
          // be sure to enable 'active tracing' on the lambda function.
          .withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder()))
          .build();

  @Override
  public String handleRequest(SQSEvent event, Context context)
  {
    PutEventsRequestEntry putEventsRequestEntry0 = new PutEventsRequestEntry();
    putEventsRequestEntry0.setTime(new Date());
    putEventsRequestEntry0.setSource("my-lambda-function");
    putEventsRequestEntry0.setDetailType("my-lambda-event");
    putEventsRequestEntry0.setDetail("{\"lambda-source\":\"sqs\"}");
    PutEventsRequest putEventsRequest = new PutEventsRequest();
    putEventsRequest.setEntries(Collections.singletonList(putEventsRequestEntry0));
    // send the event(s) to EventBridge
    PutEventsResult putEventsResult = eventsClient.putEvents(putEventsRequest);
    try {
      logger.info("Put Events Result: {}", putEventsResult);
    } catch(Exception e) {
      e.getStackTrace();
    }
    return "success";
  }
}
```

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

 Ajoutez la dépendance suivante à votre fichier requirements.txt : 

```
aws-xray-sdk==2.4.3        
```

```
import boto3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

# apply the XRay handler to all clients.
patch_all()

client = boto3.client('events')

def lambda_handler(event, context):
    response = client.put_events(
        Entries=[
            {
                'Source': 'foo',
                'DetailType': 'foo',
                'Detail': '{\"foo\": \"foo\"}'
            },
        ]
    )
    return response
```

------
#### [ Go ]

```
package main

import (
  "context"
  "github.com/aws/aws-lambda-go/lambda"
  "github.com/aws/aws-lambda-go/events"
  "github.com/aws/aws-sdk-go/aws/session"
  "github.com/aws/aws-xray-sdk-go/xray"
  "github.com/aws/aws-sdk-go/service/eventbridge"
  "fmt"
)

var client = eventbridge.New(session.New())


func main() {
 //Wrap the eventbridge client in the AWS XRay tracer
  xray.AWS(client.Client)
  lambda.Start(handleRequest)
}

func handleRequest(ctx context.Context, event events.SQSEvent) (string, error) {
  _, err := callEventBridge(ctx)
  if err != nil {
    return "ERROR", err
  }
  return "success", nil
}


func callEventBridge(ctx context.Context) (string, error) {
    entries := make([]*eventbridge.PutEventsRequestEntry, 1)
    detail := "{ \"foo\": \"foo\"}"
    detailType := "foo"
    source := "foo"
    entries[0] = &eventbridge.PutEventsRequestEntry{
        Detail: &detail,
        DetailType: &detailType,
        Source: &source,
    }

  input := &eventbridge.PutEventsInput{
     Entries: entries,
  }

  // Example sending a request using the PutEventsRequest method.
  resp, err := client.PutEventsWithContext(ctx, input)

  success := "yes"
  if err == nil { // resp is now filled
      success = "no"
      fmt.Println(resp)
  }
  return success, err
}
```

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

```
const AWSXRay = require('aws-xray-sdk')
//Wrap the aws-sdk client in the AWS XRay tracer
const AWS = AWSXRay.captureAWS(require('aws-sdk'))
const eventBridge = new AWS.EventBridge()

exports.handler = async (event) => {

  let myDetail = { "name": "Alice" }

  const myEvent = { 
    Entries: [{
      Detail: JSON.stringify({ myDetail }),
      DetailType: 'myDetailType',
      Source: 'myApplication',
      Time: new Date
    }]
  }

  // Send to EventBridge
  const result = await eventBridge.putEvents(myEvent).promise()

  // Log the result
  console.log('Result: ', JSON.stringify(result, null, 2))

}
```

------
#### [ C\$1 ]

 Ajoutez les packages X-Ray suivants à vos dépendances C\$1 : 

```
<PackageReference Include="AWSXRayRecorder.Core" Version="2.6.2" />
<PackageReference Include="AWSXRayRecorder.Handlers.AwsSdk" Version="2.7.2" />
```

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Amazon;
using Amazon.Util;
using Amazon.Lambda;
using Amazon.Lambda.Model;
using Amazon.Lambda.Core;
using Amazon.EventBridge;
using Amazon.EventBridge.Model;
using Amazon.Lambda.SQSEvents;
using Amazon.XRay.Recorder.Core;
using Amazon.XRay.Recorder.Handlers.AwsSdk;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

namespace blankCsharp
{
  public class Function
  {
    private static AmazonEventBridgeClient eventClient;

    static Function() {
      initialize();
    }

    static async void initialize() {
      //Wrap the AWS SDK clients in the AWS XRay tracer
      AWSSDKHandler.RegisterXRayForAllServices();
      eventClient = new AmazonEventBridgeClient();
    }

    public async Task<PutEventsResponse> FunctionHandler(SQSEvent invocationEvent, ILambdaContext context)
    {
      PutEventsResponse response;
      try
      {
        response = await callEventBridge();
      }
      catch (AmazonLambdaException ex)
      {
        throw ex;
      }

      return response;
    }

    public static async Task<PutEventsResponse> callEventBridge()
    {
      var request = new PutEventsRequest();
      var entry = new PutEventsRequestEntry();
      entry.DetailType = "foo";
      entry.Source = "foo";
      entry.Detail = "{\"instance_id\":\"A\"}";
      List<PutEventsRequestEntry> entries = new List<PutEventsRequestEntry>();
      entries.Add(entry);
      request.Entries = entries;
      var response = await eventClient.PutEventsAsync(request);
      return response;
    }
  }
}
```

------

# AWS Lambda et AWS X-Ray
<a name="xray-services-lambda"></a>

**Note**  
Avis de SDK/Daemon maintenance de X-Ray — Le 25 février 2026, le AWS X-Ray SDKs/Daemon passera en mode maintenance, où les versions du SDK et du Daemon de X-Ray AWS seront limitées uniquement pour résoudre les problèmes de sécurité. Pour plus d'informations sur le calendrier de support, consultez[Chronologie du support pour le SDK et Daemon X-Ray](xray-sdk-daemon-timeline.md). Nous vous recommandons de migrer vers OpenTelemetry. Pour plus d'informations sur la migration vers OpenTelemetry, consultez la section [Migration de l'instrumentation X-Ray vers OpenTelemetry l'instrumentation](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html).

Vous pouvez l'utiliser AWS X-Ray pour suivre vos AWS Lambda fonctions. Lambda exécute le [daemon X-Ray](xray-daemon.md) et enregistre un segment contenant des détails sur l'invocation et l'exécution de la fonction. Pour une instrumentation plus poussée, vous pouvez associer le SDK X-Ray à votre fonction pour enregistrer les appels sortants et ajouter des annotations et des métadonnées.

Si votre fonction Lambda est appelée par un autre service instrumenté, Lambda suit les requêtes qui ont déjà été échantillonnées sans aucune configuration supplémentaire. Le service en amont peut être une application Web instrumentée ou une autre fonction Lambda. Votre service peut appeler la fonction directement avec un client AWS SDK instrumenté ou en appelant une API API Gateway avec un client HTTP instrumenté.

AWS X-Ray prend en charge le suivi des applications pilotées par des événements à l'aide AWS Lambda d'Amazon SQS. Utilisez la CloudWatch console pour voir une vue connectée de chaque demande mise en file d'attente avec Amazon SQS et traitée par une fonction Lambda en aval. Les traces provenant des producteurs de messages en amont sont automatiquement liées aux traces provenant des nœuds consommateurs Lambda en aval, créant ainsi une end-to-end vue de l'application. Pour plus d'informations, consultez la section [Suivi des applications pilotées par des événements](xray-tracelinking.md). 

**Note**  
Si les traces sont activées pour une fonction Lambda en aval, vous devez également activer les traces pour la fonction Lambda racine qui appelle la fonction en aval afin que la fonction en aval puisse générer des traces.

Si votre fonction Lambda s'exécute selon un calendrier ou est invoquée par un service qui n'est pas instrumenté, vous pouvez configurer Lambda pour échantillonner et enregistrer les appels avec un suivi actif.

**Pour configurer l'intégration de X-Ray sur une AWS Lambda fonction**

1. Ouvrez la [AWS Lambda console](https://console.aws.amazon.com/lambda).

1. Sélectionnez **Fonctions** dans la barre de navigation de gauche.

1. Choisissez votre fonction.

1. Dans l'onglet **Configuration**, faites défiler l'écran vers le bas jusqu'à la carte **Outils de surveillance supplémentaires**. Vous pouvez également trouver cette carte en sélectionnant **Outils de surveillance et d'exploitation** dans le volet de navigation de gauche.

1. Tâche de sélection **Modifier**.

1. Sous **AWS X-Ray**, activez le **Suivi actif**.

Lors des exécutions avec un SDK X-Ray correspondant, Lambda exécute également le démon X-Ray.

**X-Ray SDKs sur Lambda**
+ **X-Ray SDK pour** Go — Go 1.7 et environnements d'exécution plus récents
+ **Kit de développement X-Ray pour** Java — environnement d'exécution Java 8
+ **Kit de développement X-Ray pour Node.js** — Node.js 4.3 et versions ultérieures
+ **Kit de développement X-Ray pour Python** — Python 2.7, Python 3.6 et environnements d'exécution plus récents
+ **Kit de développement X-Ray pour** .NET — .NET Core 2.0 et environnements d'exécution plus récents

Pour utiliser le SDK X-Ray sur Lambda, associez-le à votre code de fonction chaque fois que vous créez une nouvelle version. Vous pouvez instrumenter vos fonctions Lambda avec les mêmes méthodes que celles que vous utilisez pour instrumenter les applications exécutées sur d'autres services. La principale différence est que vous n'utilisez pas le kit de développement logiciel pour instrumenter les demandes entrantes, prendre des décisions d'échantillonnage et créer des segments.

L'autre différence entre l'instrumentation des fonctions Lambda et des applications Web est que le segment que Lambda crée et envoie à X-Ray ne peut pas être modifié par le code de votre fonction. Vous pouvez créer des sous-segments et enregistrer des annotations et des métadonnées sur eux, mais vous ne pouvez pas ajouter d'annotations et de métadonnées au segment parent.

Pour plus d'informations, consultez la section [Utilisation de AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) dans le *manuel du AWS Lambda développeur*.

# AWS Step Functions et AWS X-Ray
<a name="xray-services-stepfunctions"></a>

AWS X-Ray s'intègre AWS Step Functions à Step Functions pour suivre et analyser les demandes de Step Functions. Vous pouvez visualiser les composants de votre machine d'état, identifier les goulots d'étranglement liés aux performances et résoudre les demandes qui ont entraîné une erreur. Pour plus d'informations, reportez-vous AWS X-Ray à [Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html) dans le manuel du AWS Step Functions développeur.

**Pour activer le traçage X-Ray lors de la création d'une nouvelle machine à états**

1. Ouvrez la console Step Functions à l'adresse [https://console.aws.amazon.com/states/](https://console.aws.amazon.com/states/).

1. Choisissez **Create a state machine**.

1. Sur la page **Définir la machine à états**, sélectionnez **Auteur avec des extraits de code** ou **Démarrer avec un modèle**. Si vous choisissez d'exécuter un exemple de projet, vous ne pouvez pas activer le suivi X-Ray lors de sa création. Activez plutôt le suivi X-Ray après avoir créé votre machine à états.

1. Choisissez **Suivant**.

1. Sur la page **Spécifier les détails**, configurez votre machine d'état.

1. Choisissez **Enable X-Ray Tracing**.

**Pour activer le traçage par rayons X dans une machine à états existante**

1. Dans la console Step Functions, sélectionnez la machine à états pour laquelle vous souhaitez activer le suivi.

1. Choisissez **Modifier**.

1. Choisissez **Enable X-Ray Tracing**.

1. (Facultatif) Générez automatiquement un nouveau rôle pour votre machine d'état afin d'inclure les autorisations X-Ray en choisissant **Create new role dans** la fenêtre Permissions.  
![\[Permissions section with options to create a new role, choose existing, or enter ARN.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/stepfunctions-permissions.png)

1. Choisissez **Save** (Enregistrer).

**Note**  
Lorsque vous créez une nouvelle machine à états, elle est automatiquement tracée si la demande est échantillonnée et si le suivi est activé dans un service en amont tel qu'Amazon API Gateway ou AWS Lambda. Pour toute machine à états existante non configurée via la console, par exemple via un CloudFormation modèle, vérifiez que vous disposez d'une politique IAM qui accorde des autorisations suffisantes pour activer les traces X-Ray.