

AWS App Runner n'est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS App Runner la section Modification de la disponibilité](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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.

# Suivi de votre application App Runner avec X-Ray
<a name="monitor-xray"></a>

AWS X-Ray est un service qui collecte des données sur les demandes traitées par votre application et fournit des outils que vous pouvez utiliser pour visualiser, filtrer et obtenir des informations sur ces données afin d'identifier les problèmes et les opportunités d'optimisation. Pour toute demande retracée envoyée à votre application, vous pouvez consulter des informations détaillées non seulement sur la demande et la réponse, mais également sur les appels que votre application fait aux AWS ressources en aval, aux microservices, aux bases de données et au Web APIs HTTP.

X-Ray utilise les données de suivi provenant des AWS ressources qui alimentent vos applications cloud pour générer un graphique de service détaillé. Le graphique de services montre le client, le service frontal et les services dorsaux que votre service frontal appelle pour traiter les demandes et conserver les données. Utilisez le graphique de services pour identifier les goulots d'étranglement, les pics de latence et d'autres problèmes à résoudre pour améliorer les performances de vos applications.

Pour plus d'informations sur X-Ray, veuillez consulter le [Guide du développeur AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/).

![Exemple de carte de service X-Ray pour un service App Runner](http://docs.aws.amazon.com/fr_fr/apprunner/latest/dg/images/xray-example.png)


## Instrumentez votre application pour le traçage
<a name="monitor-xray.instrument"></a>

Instrumentez votre application de service App Runner pour le traçage à l'aide [OpenTelemetry](https://github.com/open-telemetry)d'une spécification de télémétrie portable. À l'heure actuelle, App Runner prend en charge [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) (ADOT), une OpenTelemetry implémentation qui collecte et présente des informations de télémétrie à l'aide de services. AWS X-Ray implémente le composant de traçage.

*Selon le SDK ADOT spécifique que vous utilisez dans votre application, ADOT prend en charge jusqu'à deux approches d'instrumentation : *automatique* et manuelle.* Pour plus d'informations sur l'instrumentation avec votre SDK, consultez la [documentation ADOT](https://aws-otel.github.io/docs/introduction) et choisissez votre SDK dans le volet de navigation.

### Configuration du moteur d'exécution
<a name="monitor-xray.instrument.setup"></a>

 Vous trouverez ci-dessous les instructions générales de configuration de l'exécution pour instrumenter votre application de service App Runner à des fins de traçage. 

**Pour configurer le suivi pour votre environnement d'exécution**

1.  Suivez les instructions fournies pour votre environnement d'exécution dans [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) (ADOT) pour instrumenter votre application. 

1.  Installez les `OTEL` dépendances requises dans la `build` section du `apprunner.yaml` fichier si vous utilisez le référentiel de code source ou dans le Dockerfile si vous utilisez une image de conteneur. 

1.  Configurez vos variables d'environnement dans le `apprunner.yaml` fichier si vous utilisez le référentiel de code source ou dans le Dockerfile si vous utilisez une image de conteneur.   
**Example Variables d’environnement**  
**Note**  
L'exemple suivant répertorie les variables d'environnement importantes à ajouter au `apprunner.yaml` fichier. Ajoutez ces variables d'environnement à votre Dockerfile si vous utilisez une image de conteneur. Cependant, chaque environnement d'exécution peut avoir ses propres particularités et vous devrez peut-être ajouter d'autres variables d'environnement à la liste suivante. Pour plus d'informations sur les instructions spécifiques à votre environnement d'exécution et des exemples sur la façon de configurer votre application pour votre environnement d'exécution, consultez [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) et accédez à votre environnement d'exécution, sous *Getting Started*. 

   ```
   env:
       - name: OTEL_PROPAGATORS
         value: xray
       - name: OTEL_METRICS_EXPORTER
         value: none
       - name: OTEL_EXPORTER_OTLP_ENDPOINT
         value: http://localhost:4317  
       - name: OTEL_RESOURCE_ATTRIBUTES
         value: 'service.name=example_app'
   ```
**Note**  
 `OTEL_METRICS_EXPORTER=none`est une variable d'environnement importante pour App Runner, car le collecteur App Runner Otel n'accepte pas l'enregistrement des métriques. Il n'accepte que le suivi des métriques. 

### Exemple de configuration d'exécution
<a name="monitor-xray.instrument.example"></a>

L'exemple suivant illustre l'instrumentation automatique de votre application avec le SDK [ADOT Python](https://aws-otel.github.io/docs/getting-started/python-sdk). Le SDK produit automatiquement des intervalles avec des données de télémétrie décrivant les valeurs utilisées par les frameworks Python dans votre application sans ajouter une seule ligne de code Python. Il suffit d'ajouter ou de modifier quelques lignes dans deux fichiers sources.

Ajoutez d'abord quelques dépendances, comme indiqué dans l'exemple suivant.

**Example requirements.txt**  

```
opentelemetry-distro[otlp]>=0.24b0
opentelemetry-sdk-extension-aws~=2.0
opentelemetry-propagator-aws-xray~=1.0
```

Ensuite, instrumentez votre application. La manière de procéder dépend de la source de votre service : image source ou code source.

------
#### [ Source image ]

Lorsque la source de votre service est une image, vous pouvez directement instrumenter le Dockerfile qui contrôle la création de votre image de conteneur et l'exécution de l'application dans l'image. L'exemple suivant montre un Dockerfile instrumenté pour une application Python. Les ajouts à l'instrumentation sont soulignés en gras.

**Example Dockerfile**  

```
FROM public.ecr.aws/amazonlinux/amazonlinux:latest
RUN yum install python3.7 -y && curl -O https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && yum update -y
COPY . /app
WORKDIR /app
RUN pip3 install -r requirements.txt
RUN opentelemetry-bootstrap --action=install
ENV OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=urllib3
ENV OTEL_METRICS_EXPORTER=none              
ENV OTEL_RESOURCE_ATTRIBUTES='service.name=example_app'
CMD OTEL_PROPAGATORS=xray OTEL_PYTHON_ID_GENERATOR=xray opentelemetry-instrument python3 app.py
EXPOSE 8080
```

------
#### [ Source code repository ]

Lorsque votre source de service est un référentiel contenant la source de votre application, vous instrumentez indirectement votre image à l'aide des paramètres du fichier de configuration d'App Runner. Ces paramètres contrôlent le Dockerfile qu'App Runner génère et utilise pour créer l'image de votre application. L'exemple suivant montre un fichier de configuration App Runner instrumenté pour une application Python. Les ajouts à l'instrumentation sont soulignés en gras.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    build:
      - pip install -r requirements.txt
      - opentelemetry-bootstrap --action=install
run: 
  command: opentelemetry-instrument python app.py
  network: 
    port: 8080 
  env:
    - name: OTEL_PROPAGATORS
      value: xray
    - name: OTEL_METRICS_EXPORTER
      value: none
    - name: OTEL_PYTHON_ID_GENERATOR
      value: xray  
    - name: OTEL_PYTHON_DISABLED_INSTRUMENTATIONS 
      value: urllib3
    - name: OTEL_RESOURCE_ATTRIBUTES
      value: 'service.name=example_app'
```

------

## Ajoutez des autorisations X-Ray à votre rôle d'instance de service App Runner
<a name="monitor-xray.role"></a>

Pour utiliser le traçage X-Ray avec votre service App Runner, vous devez fournir aux instances du service des autorisations leur permettant d'interagir avec le service X-Ray. Pour ce faire, associez un rôle d'instance à votre service et ajoutez une politique gérée avec des autorisations X-Ray. Pour plus d'informations sur un rôle d'instance App Runner, consultez[Rôle d’instance](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service.instance). Ajoutez la politique `AWSXRayDaemonWriteAccess` gérée à votre rôle d'instance et attribuez-la à votre service lors de sa création.

## Activez le suivi X-Ray pour votre service App Runner
<a name="monitor-xray.config"></a>

Lorsque vous [créez un service](manage-create.md), App Runner désactive le suivi par défaut. Vous pouvez activer le suivi X-Ray pour votre service dans le cadre de la configuration de l'observabilité. Pour de plus amples informations, veuillez consulter [Gérez l'observabilité](manage-configure-observability.md#manage-configure-observability.manage).

Si vous utilisez l'API App Runner ou le AWS CLI, l'[TraceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_TraceConfiguration.html)objet contenu dans l'objet de [ObservabilityConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_ObservabilityConfiguration.html)ressource contient des paramètres de suivi. Pour que le traçage reste désactivé, ne spécifiez aucun `TraceConfiguration` objet.

Dans le cas de la console et de l'API, veillez à associer le rôle d'instance décrit dans la section précédente à votre service App Runner.

## Afficher les données de suivi X-Ray pour votre service App Runner
<a name="monitor-xray.view"></a>

Dans l'onglet **Observabilité** de la [page du tableau de bord des services](console.md#console.dashboard) de la console App Runner, choisissez **Afficher la carte des services** pour accéder à la CloudWatch console Amazon.

![Page du tableau de bord du service App Runner affichant l'onglet d'observabilité](http://docs.aws.amazon.com/fr_fr/apprunner/latest/dg/images/service-dashboad-observability.png)


Utilisez la CloudWatch console Amazon pour consulter les cartes des services et les traces des demandes traitées par votre application. Les cartes des services présentent des informations telles que la latence des demandes et les interactions avec d'autres applications et AWS services. Les annotations personnalisées que vous ajoutez à votre code vous permettent de rechercher facilement des traces. Pour plus d'informations, consultez la section [Utilisation ServiceLens pour surveiller l'état de santé de vos applications](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceLens.html) dans le *guide de CloudWatch l'utilisateur Amazon*.