Esecuzione del daemon X-RayAWS Elastic Beanstalk - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione del daemon X-RayAWS Elastic Beanstalk

Per inoltrare i dati di traccia dall'applicazione aAWS X-Ray, puoi eseguire il daemon X-Ray sulle istanze Amazon EC2 dell'ambiente Elastic Beanstalk. Per un elenco delle piattaforme supportate, consultaConfigurazione diAWS X-RayDebugnellaAWS Elastic BeanstalkGuida per gli sviluppatori.

Nota

Il daemon utilizza il profilo dell'istanza dell'ambiente per acquisire le autorizzazioni. Per le istruzioni sull'aggiunta di autorizzazioni al profilo dell'istanza Elastic Beanstalk, consultaDare al demone il permesso di inviare dati a X-Ray.

Le piattaforme Elastic Beanstalk forniscono un'opzione di configurazione che è puoi impostare per eseguire il daemon automaticamente. È possibile abilitare il daemon in un file di configurazione nel tuo codice sorgente o scegliendo un'opzione nella console Elastic Beanstalk. Quando abiliti l'opzione di configurazione, il daemon viene installato sull'istanza e viene eseguito come servizio.

La versione inclusa nelle piattaforme Elastic Beanstalk potrebbe non essere la versione più recente. Consulta la sezione Piattaforme Supportate per scoprire la versione del daemon che è disponibile per la configurazione della tua piattaforma.

Elastic Beanstalk non fornisce il daemon X-Ray sulla piattaforma Multicontainer Docker (Amazon ECS).

Utilizzo dell'integrazione Elastic Beanstalk X-Ray per eseguire il daemon X-Ray

Utilizza la console per attivare l'integrazione X-Ray oppure configurala nel codice sorgente dell'applicazione con un file di configurazione.

Per abilitare il daemon X-Ray nella console Elastic Beanstalk
  1. Apertura dellaConsole Elastic Beanstalk.

  2. Passare alla .Console di gestioneper l'ambiente.

  3. Scegliere Configuration (Configurazione).

  4. Scegliere Software Settings (Impostazioni software)

  5. Alla voce X-Ray Daemon (Daemon X-Ray), scegliere Enabled (Abilitato).

  6. Seleziona Apply (Applica).

Per rendere la configurazione portabile tra più ambienti puoi includere un file di configurazione nel codice sorgente.

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

Elastic Beanstalk passa un file di configurazione al daemon e invia i log in una posizione standard.

Sulle piattaforme Windows Server
  • File di configurazioneC:\Program Files\Amazon\XRay\cfg.yaml

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

Sulle piattaforme Linux
  • File di configurazione/etc/amazon/xray/cfg.yaml

  • Log/var/log/xray/xray.log

Elastic Beanstalk fornisce strumenti per estrarre i log delle istanze dalAWS Management Consoleo riga di comando. Puoi stabilire che Elastic Beanstalk includa i log del daemon X-Ray di aggiungere un'attività con un file di configurazione.

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

Consulta .Visualizzazione dei log dalle istanze Amazon EC2 dell'ambiente Elastic BeanstalknellaAWS Elastic BeanstalkGuida per gli sviluppatoriper ulteriori informazioni.

Scaricamento ed esecuzione del daemon X-Ray in modalità manuale (Avanzata)

Se il daemon X-Ray non è disponibile per la configurazione della tua piattaforma, puoi scaricarlo da Amazon S3 ed eseguirlo con un file di configurazione.

Utilizza un file di configurazione Elastic Beanstalk per scaricare ed eseguire il daemon.

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

Questi esempi aggiungono anche il file di log del daemon all'attività di Elastic Beanstalk tail dei log di, in modo che sia incluso nella richiesta di log tramite la console o l'interfaccia a riga di comando di Elastic Beanstalk Command Line Interface (EB CLI).