Executar o daemon do X-Ray no AWS Elastic Beanstalk - AWS X-Ray

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Executar o daemon do X-Ray no AWS Elastic Beanstalk

Para retransmitir os dados de rastreamento da aplicação para o AWS X-Ray, você pode executar o daemon do X-Ray nas instâncias do Amazon EC2 do ambiente do Elastic Beanstalk. Para obter uma lista de plataformas compatíveis, consulte Configurar depuração do AWS X-Ray no Guia do desenvolvedor do AWS Elastic Beanstalk.

nota

O daemon usa seu perfil de instância do ambiente para permissões. Para obter instruções sobre como adicionar permissões ao perfil de instância do Elastic Beanstalk, consulte Conceder permissão ao daemon para enviar dados ao X-Ray.

As plataformas do Elastic Beanstalk fornecem uma opção de configuração que você pode definir para executar o daemon automaticamente. Você pode habilitar o daemon em um arquivo de configuração em seu código-fonte ou selecionar uma opção no console do Elastic Beanstalk. Quando você habilita a opção de configuração, o daemon é instalado na instância e é executado como um serviço.

A versão incluída nas plataformas do Elastic Beanstalk pode não ser a versão mais recente. Consulte o tópico Plataformas suportadas para descobrir a versão do daemon que está disponível para a configuração da sua plataforma.

O Elastic Beanstalk não fornece o daemon do X-Ray na plataforma Docker de vários contêineres (Amazon ECS).

Usar a integração entre do X-Ray com o Elastic Beanstalk para executar o daemon do X-Ray

Use o console para ativar a integração do X-Ray ou configure-o no código-fonte da aplicação com um arquivo de configuração.

Como habilitar o daemon do X-Ray no console do Elastic Beanstalk
  1. Abra o console do Elastic Beanstalk.

  2. Navegue até o console de gerenciamento do seu ambiente.

  3. Escolher configuração.

  4. Escolha Software Settings.

  5. Para o X-Ray daemon, escolha Enabled.

  6. Escolha Aplicar.

Você pode incluir um arquivo de configuração em seu código-fonte para tornar sua configuração portátil entre ambientes.

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

O Elastic Beanstalk transmite um arquivo de configuração ao daemon e emite logs para um local padrão.

Nas Plataformas do Windows Server
  • Arquivo de configuração: C:\Program Files\Amazon\XRay\cfg.yaml

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

Nas Plataformas Linux
  • Arquivo de configuração: /etc/amazon/xray/cfg.yaml

  • Logs: /var/log/xray/xray.log

O Elastic Beanstalk fornece ferramentas para obter os logs de instância do AWS Management Console ou da linha de comando. Você pode instruir o Elastic Beanstalk a incluir os logs do daemon do X-Ray adicionando uma tarefa com um arquivo de configuração.

exemplo .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
exemplo .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 Visualizar logs de instâncias do Amazon EC2 no ambiente do Elastic Beanstalk no Guia do desenvolvedor do AWS Elastic Beanstalk para obter mais informações.

Baixar e executar o daemon do X-Ray manualmente (avançado)

Se o daemon do X-Ray não estiver disponível para a configuração de sua plataforma, você poderá baixá-lo pelo Amazon S3 e executá-lo com um arquivo de configuração.

Use um arquivo de configuração do Elastic Beanstalk para baixar e executar o daemon.

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

Esses exemplos também adicionam o arquivo de log do daemon à tarefa de logs finais do Elastic Beanstalk, para que ele esteja incluído quando você solicitar logs com o console ou com a interface de linha de comandos (CLI do EB) do Elastic Beanstalk.