Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejecución del daemon de X-Ray en AWS Elastic Beanstalk
Para retransmitir los datos de rastreo desde su aplicación a AWS X-Ray, puede ejecutar el daemon de X-Ray en instancias de Amazon EC2 de su entorno de Elastic Beanstalk. Para ver una lista de plataformas compatibles, consulte Configuración de la depuración en AWS X-Ray en la Guía para desarrolladores de AWS Elastic Beanstalk.
nota
El daemon utiliza el perfil de instancia del entorno para obtener permisos. Para obtener instrucciones sobre cómo añadir permisos al perfil de instancia de Elastic Beanstalk, consulte Permiso para el envío de datos a X-Ray desde el daemon.
Las plataformas de Elastic Beanstalk proporcionan una opción de configuración que puede establecer para ejecutar el daemon de forma automática. Puede habilitar el daemon en un archivo de configuración en el código fuente o mediante la opción disponible en la consola de Elastic Beanstalk. Cuando habilita la opción de configuración, el demonio se instala en la instancia y se ejecuta como servicio.
Es posible que la versión incluida en las plataformas de Elastic Beanstalk no sea la versión más reciente. Consulte Plataformas compatibles para ver qué versión del demonio está disponible para la configuración de la plataforma que utiliza.
Elastic Beanstalk no proporciona el daemon X-Ray en la plataforma Multicontainer Docker (Amazon ECS).
Uso de la integración de X-Ray de Elastic Beanstalk para ejecutar el daemon de X-Ray
Utilice la consola para activar la integración de X-Ray o configúrela en el código fuente de la aplicación con un archivo de configuración.
Para habilitar el daemon de X-Ray en la consola de Elastic Beanstalk:
Abra la consola de Elastic Beanstalk
. Desplácese hasta la consola de administración del entorno.
Elija Configuration (Configuración).
-
Elija Software Settings (Configuración de software).
-
En X-Ray daemon (Demonio de X-Ray), elija Enabled (Habilitado).
-
Seleccione Apply (Aplicar).
Puede incluir un archivo de configuración en el código fuente para que la configuración sea portátil entre entornos.
ejemplo .ebextensions/xray-daemon.config
option_settings:
aws:elasticbeanstalk:xray:
XRayEnabled: true
Elastic Beanstalk transfiere un archivo de configuración al daemon y envía los registros a una ubicación estándar.
En plataformas Windows Server
-
Archivo de configuración:
C:\Program Files\Amazon\XRay\cfg.yaml
-
Registros:
c:\Program Files\Amazon\XRay\logs\xray-service.log
En plataformas Linux
-
Archivo de configuración:
/etc/amazon/xray/cfg.yaml
-
Registros:
/var/log/xray/xray.log
Elastic Beanstalk proporciona herramientas para extraer registros de instancias de la AWS Management Console o de la línea de comandos. Puede indicar a Elastic Beanstalk que incluya los registros del daemon de X-Ray añadiendo una tarea con un archivo de configuración.
ejemplo .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
ejemplo .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
Consulte la sección Consulta de los registros desde las instancias de Amazon EC2 del entorno de Elastic Beanstalk en la Guía para desarrolladores de AWS Elastic Beanstalk para obtener más información.
Descarga y ejecución del daemon de X-Ray manualmente (avanzado)
Si el daemon de X-Ray no está disponible para la configuración de la plataforma, puede descargarlo desde Amazon S3 y ejecutarlo con un archivo de configuración.
Utilice un archivo de configuración de Elastic Beanstalk para descargar y ejecutar el daemon.
ejemplo .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
ejemplo .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
Estos ejemplos también añaden el archivo de registro del daemon a la tarea de registros de finalización de Elastic Beanstalk para incluirlo cuando se soliciten registros con la consola o la interfaz de línea de comandos de Elastic Beanstalk (CLI de EB).