

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 localmente
<a name="xray-daemon-local"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Você pode executar o AWS X-Ray daemon localmente no Linux, macOS, Windows ou em um contêiner Docker. Execute o daemon para retransmitir os dados de rastreamento ao X-Ray quando você estiver desenvolvendo e testando seu aplicativo instrumentada. Baixe e extraia o daemon usando essas [instruções](xray-daemon.md#xray-daemon-downloading).

Ao ser executado localmente, o daemon pode ler as credenciais de um arquivo de credenciais do AWS SDK (`.aws/credentials`no seu diretório de usuário) ou de variáveis de ambiente. Para obter mais informações, consulte [Conceder permissão ao daemon para enviar dados ao X-Ray](xray-daemon.md#xray-daemon-permissions).

O daemon ouve dados UDP na porta 2000. Você pode alterar a porta e outras opções usando um arquivo de configuração e opções de linha de comando. Para obter mais informações, consulte [Configurando o daemon AWS X-Ray](xray-daemon-configuration.md).

## Executar o daemon do X-Ray no Linux
<a name="xray-daemon-local-linux"></a>

Você pode executar o daemon executável na linha de comando. Use a opção `-o` para executar em modo local e `-n` para definir a região.

```
~/xray-daemon$ ./xray -o -n us-east-2
```

Para executar o daemon em segundo plano, use `&`.

```
~/xray-daemon$ ./xray -o -n us-east-2 &
```

Encerre um processo de daemon em execução em segundo plano com `pkill`.

```
~$ pkill xray
```

## Executar o daemon do X-Ray em um contêiner do Docker
<a name="xray-daemon-local-docker"></a>

Para executar o daemon localmente em um contêiner do Docker, salve o texto a seguir em um arquivo chamado `Dockerfile`. Baixe a [imagem de exemplo](https://gallery.ecr.aws/xray/aws-xray-daemon) completa no Amazon ECR. Para obter mais informações, consulte [Baixar o daemon](xray-daemon.md#xray-daemon-downloading).

**Example Dockerfile: Amazon Linux**  

```
FROM amazonlinux
RUN yum install -y unzip
RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip
RUN unzip daemon.zip && cp xray /usr/bin/xray
ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"]
EXPOSE 2000/udp
EXPOSE 2000/tcp
```

Crie a imagem do contêiner com o `docker build`.

```
~/xray-daemon$ docker build -t xray-daemon .
```

Execute a imagem em um contêiner com o `docker run`.

```
~/xray-daemon$ docker run \
      --attach STDOUT \
      -v ~/.aws/:/root/.aws/:ro \
      --net=host \
      -e AWS_REGION=us-east-2 \
      --name xray-daemon \
      -p 2000:2000/udp \
      xray-daemon -o
```

Este comando usa as seguintes opções:
+ `--attach STDOUT`: visualizar a saída do daemon no terminal.
+ `-v ~/.aws/:/root/.aws/:ro`— Dê ao contêiner acesso somente de leitura ao `.aws` diretório para permitir que ele leia suas credenciais do AWS SDK.
+ `AWS_REGION=us-east-2`: definir a variável de ambiente da `AWS_REGION` para informar ao daemon a região a ser usada.
+ `--net=host`: anexar o contêiner à rede do `host`. Os contêineres na rede host podem se comunicar entre si sem as portas de publicação.
+ `-p 2000:2000/udp`: mapear a porta UDP 2000 no computador para a mesma porta no contêiner. Isso não é necessário para a comunicação entre contêineres na mesma rede, mas permite que você envie segmentos para o daemon [a partir da linha de comando](xray-api-sendingdata.md#xray-api-daemon) ou de um aplicativo que não está em execução no Docker.
+ `--name xray-daemon`: nomear o contêiner como `xray-daemon` em vez de gerar um nome aleatório.
+ `-o` (após o nome da imagem): anexar a opção `-o` ao ponto de entrada que executa o daemon dentro do contêiner. Essa opção faz com que o daemon seja executado no modo local para evitar que ele tente ler os metadados da EC2 instância Amazon.

Para interromper o daemon, use `docker stop`. Se você fizer alterações no `Dockerfile` e criar uma nova imagem, precisará excluir o contêiner existente antes de criar um outro com o mesmo nome. Use `docker rm` para excluir o contêiner.

```
$ docker stop xray-daemon
$ docker rm xray-daemon
```

## Executar o daemon do X-Ray-Ray no Windows
<a name="xray-daemon-local-windows"></a>

Você pode executar o daemon executável na linha de comando. Use a opção `-o` para executar em modo local e `-n` para definir a região.

```
> .\xray_windows.exe -o -n us-east-2
```

Use um PowerShell script para criar e executar um serviço para o daemon.

**Example PowerShell script - Windows**  

```
if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ){
    sc.exe stop AWSXRayDaemon
    sc.exe delete AWSXRayDaemon
}
if ( Get-Item -path aws-xray-daemon -ErrorAction SilentlyContinue ) {
    Remove-Item -Recurse -Force aws-xray-daemon
}

$currentLocation = Get-Location
$zipFileName = "aws-xray-daemon-windows-service-3.x.zip"
$zipPath = "$currentLocation\$zipFileName"
$destPath = "$currentLocation\aws-xray-daemon"
$daemonPath = "$destPath\xray.exe"
$daemonLogPath = "C:\inetpub\wwwroot\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)

sc.exe create AWSXRayDaemon binPath= "$daemonPath -f $daemonLogPath"
sc.exe start AWSXRayDaemon
```

## Executar o daemon do X-Ray no OS X
<a name="xray-daemon-local-osx"></a>

Você pode executar o daemon executável na linha de comando. Use a opção `-o` para executar em modo local e `-n` para definir a região.

```
~/xray-daemon$ ./xray_mac -o -n us-east-2
```

Para executar o daemon em segundo plano, use `&`.

```
~/xray-daemon$ ./xray_mac -o -n us-east-2 &
```

Use `nohup` para evitar que o daemon seja encerrado quando o terminal for fechado.

```
~/xray-daemon$ nohup ./xray_mac &
```