

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

**nota**  
Aviso de SDK/Daemon mantenimiento de X-Ray: el 25 de febrero de 2026, el AWS X-Ray SDKs/Daemon entrará en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon para abordar únicamente los problemas de seguridad. Para obtener más información sobre la cronología del soporte, consulte [Cronología de X-Ray SDK y Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte [Migración de una instrumentación de rayos X a una instrumentación](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Puede ejecutar el AWS X-Ray daemon localmente en Linux, macOS, Windows o en un contenedor de Docker. Ejecute el daemon para transmitir los datos de rastro a X-Ray durante el desarrollo y las pruebas de una aplicación instrumentada. Descargue y extraiga el daemon mediante las instrucciones que encontrará [aquí](xray-daemon.md#xray-daemon-downloading).

Cuando se ejecuta de forma local, el daemon puede leer las credenciales de un archivo de credenciales del AWS SDK (`.aws/credentials`en su directorio de usuarios) o de variables de entorno. Para obtener más información, consulte [Permiso para el envío de datos a X-Ray desde el daemon](xray-daemon.md#xray-daemon-permissions).

El demonio escucha los datos UDP en el puerto 2000. Puede cambiar el puerto y otras opciones mediante un archivo de configuración y distintas opciones de línea de comandos. Para obtener más información, consulte [Configuración del AWS X-Ray daemon](xray-daemon-configuration.md).

## Ejecución del daemon de X-Ray en Linux
<a name="xray-daemon-local-linux"></a>

Puede ejecutar el daemon ejecutable desde la línea de comandos. Utilice la opción `-o` para ejecutarlo en modo local y `-n` para configurar la región.

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

Para ejecutar el demonio en segundo plano, use `&`.

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

Finalice un proceso de demonio que se ejecuta en segundo plano con `pkill`.

```
~$ pkill xray
```

## Ejecución del daemon de X-Ray en un contenedor de Docker
<a name="xray-daemon-local-docker"></a>

Para ejecutar el demonio localmente en un contenedor de Docker, guarde el texto siguiente en un archivo denominado `Dockerfile`. Descargue la [imagen de ejemplo](https://gallery.ecr.aws/xray/aws-xray-daemon) completa en Amazon ECR. Para obtener más información, consulte [Descarga del 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
```

Compile la imagen del contenedor con `docker build`.

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

Ejecute la imagen en un contenedor con `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 utiliza las siguientes opciones:
+ `--attach STDOUT`: ver la salida del daemon en el terminal.
+ `-v ~/.aws/:/root/.aws/:ro`— Conceda al contenedor acceso de solo lectura al `.aws` directorio para que pueda leer sus AWS credenciales del SDK.
+ `AWS_REGION=us-east-2`: establecer la variable de entorno `AWS_REGION` para indicar al daemon la región que debe utilizar.
+ `--net=host`: adjunte el contenedor a la red `host`. Los contenedores de la red host pueden comunicarse entre sí sin publicar puertos.
+ `-p 2000:2000/udp`: asignar el puerto UDP 2000 en el equipo al mismo puerto del contenedor. Esto no es necesario para que se comuniquen los contenedores de la misma red, pero sí permite enviar segmentos al demonio [desde la línea de comandos](xray-api-sendingdata.md#xray-api-daemon) o desde una aplicación que no se ejecuta en Docker.
+ `--name xray-daemon`: asignar el nombre `xray-daemon` al contenedor en lugar de generar un nombre aleatorio.
+ `-o` (después del nombre de la imagen): añadir la opción `-o` al punto de entrada que ejecuta el daemon en el contenedor. Esta opción indica al daemon que se ejecute en modo local para evitar que intente leer los metadatos de las EC2 instancias de Amazon.

Para detener el demonio, utilice `docker stop`. Si realiza cambios en el archivo `Dockerfile` y crea una imagen nueva, debe eliminar el contenedor existente para poder crear otra con el mismo nombre. Utilice `docker rm` para eliminar el contenedor.

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

## Ejecución de un daemon de X-Ray en Windows
<a name="xray-daemon-local-windows"></a>

Puede ejecutar el daemon ejecutable desde la línea de comandos. Utilice la opción `-o` para ejecutarlo en modo local y `-n` para configurar la región.

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

Utilice un PowerShell script para crear y ejecutar un servicio para el daemon.

**Example PowerShell secuencia de comandos: 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
```

## Ejecución del daemon de X-Ray en OS X
<a name="xray-daemon-local-osx"></a>

Puede ejecutar el daemon ejecutable desde la línea de comandos. Utilice la opción `-o` para ejecutarlo en modo local y `-n` para configurar la región.

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

Para ejecutar el demonio en segundo plano, use `&`.

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

Utilice `nohup` para evitar que el demonio finalice cuando se cierre la terminal.

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