Exécution du démon X-RayAWS Elastic Beanstalk - AWS X-Ray

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.

Exécution du démon X-RayAWS Elastic Beanstalk

Pour relayer les données de suivi de votre application versAWS X-Ray, vous pouvez exécuter le démon X-Ray sur les instances Amazon EC2 de votre environnement Elastic Beanstalk. Pour une liste de plateformes prises en charge, consultezConfigurationAWS X-RayDébogagedans leAWS Elastic BeanstalkManuel du développeur.

Note

Le démon utilise le profil d'instance de votre environnement pour les autorisations. Pour obtenir des instructions sur l'ajout d'autorisations au profil d'instance Elastic Beanstalk, consultez.Autoriser le daemon à envoyer des données à X-Ray.

Les plateformes Elastic Beanstalk fournissent une option de configuration que vous pouvez configurer pour exécuter automatiquement le démon. Vous pouvez activer le démon dans un fichier de configuration dans votre code source ou en choisissant une option dans la console Elastic Beanstalk. Lorsque vous activez l'option de configuration, le démon est installé sur l'instance et s'exécute en tant que service.

La version incluse sur les plateformes Elastic Beanstalk peut ne pas être la dernière version. Consultez la rubrique Plateformes prises en charge pour identifier la version du démon disponible pour votre configuration de plateforme.

Elastic Beanstalk ne fournit pas le démon X-Ray sur la plateforme Docker multi-conteneurs (Amazon ECS).

Utilisation de l'intégration Elastic Beanstalk X-Ray pour exécuter le démon X-Ray

Utilisez la console pour activer l'intégration X-Ray ou la configurer dans le code source de votre application à l'aide d'un fichier de configuration.

Pour activer le démon X-Ray dans la console Elastic Beanstalk
  1. Ouverture d'Console Elastic Beanstalk.

  2. Accédez à .Console de gestionpour votre environnement

  3. Choisissez Configuration.

  4. Choisissez Software Settings.

  5. Pour Daemon X-Ray, choisissez Enabled.

  6. Choisissez Apply (Appliquer).

Vous pouvez inclure un fichier de configuration dans votre code source pour que votre configuration soit portable entre les environnements.

Exemple .ebextensions/xray-daemon.config
option_settings: aws:elasticbeanstalk:xray: XRayEnabled: true

Elastic Beanstalk transmet un fichier de configuration au démon et des journaux de sortie à un emplacement standard.

Sur les plateformes Windows Server
  • Fichier de configurationC:\Program Files\Amazon\XRay\cfg.yaml

  • Journauxc:\Program Files\Amazon\XRay\logs\xray-service.log

Sur les plateformes Linux
  • Fichier de configuration/etc/amazon/xray/cfg.yaml

  • Journaux/var/log/xray/xray.log

Elastic Beanstalk fournit des outils pour extraire des journaux d'instance à partir duAWS Management Consoleou en ligne de commande. Vous pouvez indiquer à Elastic Beanstalk d'inclure les journaux du démon X-Ray en ajoutant une tâche à l'aide d'un fichier de configuration.

Exemple .ebextensions/xray-logs.config - Linux
files: "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | /var/log/xray/xray.log
Exemple .ebextensions/xray-logs.config - Windows Server
files: "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | c:\Progam Files\Amazon\XRay\logs\xray-service.log

VoirAffichage des journaux à partir des instances Amazon EC2 de votre environnement Elastic Beanstalkdans leAWS Elastic BeanstalkManuel du développeurpour plus d'informations, consultez.

Téléchargement et exécution du démon X-Ray manuellement (avancé)

Si le démon X-Ray n'est pas disponible pour la configuration de votre plateforme, vous pouvez le télécharger à partir d'Amazon S3 et l'exécuter à l'aide d'un fichier de configuration.

Utilisez un fichier de configuration Elastic Beanstalk pour télécharger et exécuter le démon.

Exemple .ebextensions/xray.config - Linux
commands: 01-stop-tracing: command: yum remove -y xray ignoreErrors: true 02-copy-tracing: command: curl https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm -o /home/ec2-user/xray.rpm 03-start-tracing: command: yum install -y /home/ec2-user/xray.rpm files: "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | /var/log/xray/xray.log "/etc/amazon/xray/cfg.yaml" : mode: "000644" owner: root group: root content: | Logging: LogLevel: "debug" Version: 2
Exemple .ebextensions/xray.config - Windows Server
container_commands: 01-execute-config-script: command: Powershell.exe -ExecutionPolicy Bypass -File c:\\temp\\installDaemon.ps1 waitAfterCompletion: 0 files: "c:/temp/installDaemon.ps1": content: | if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ) { sc.exe stop AWSXRayDaemon sc.exe delete AWSXRayDaemon } $targetLocation = "C:\Program Files\Amazon\XRay" if ((Test-Path $targetLocation) -eq 0) { mkdir $targetLocation } $zipFileName = "aws-xray-daemon-windows-service-3.x.zip" $zipPath = "$targetLocation\$zipFileName" $destPath = "$targetLocation\aws-xray-daemon" if ((Test-Path $destPath) -eq 1) { Remove-Item -Recurse -Force $destPath } $daemonPath = "$destPath\xray.exe" $daemonLogPath = "$targetLocation\xray-daemon.log" $url = "https://s3.dualstack.us-west-2.amazonaws.com/aws-xray-assets.us-west-2/xray-daemon/aws-xray-daemon-windows-service-3.x.zip" Invoke-WebRequest -Uri $url -OutFile $zipPath Add-Type -Assembly "System.IO.Compression.Filesystem" [io.compression.zipfile]::ExtractToDirectory($zipPath, $destPath) New-Service -Name "AWSXRayDaemon" -StartupType Automatic -BinaryPathName "`"$daemonPath`" -f `"$daemonLogPath`"" sc.exe start AWSXRayDaemon encoding: plain "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | C:\Program Files\Amazon\XRay\xray-daemon.log

Ces exemples ajoutent également le fichier journal du démon à la tâche de journaux de processus Elastic Beanstalk, afin de l'inclure lorsque vous demandez des journaux avec la console ou l'interface de ligne de commande Elastic Beanstalk (EB CLI).