Esecuzione locale del demone X-Ray - 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 locale del demone X-Ray

Puoi eseguire il AWS X-Ray demone localmente su Linux, macOS, Windows o in un contenitore Docker. Esegui il daemon per inoltrare i dati di traccia a X-Ray durante lo sviluppo e il test della tua applicazione strumentata. Scarica ed estrai il daemon utilizzando le istruzioni contenute in questa pagina.

Quando viene eseguito localmente, il daemon può leggere le credenziali da un file di credenziali (.aws/credentialsnella AWS SDK directory utente) o dalle variabili di ambiente. Per ulteriori informazioni, consulta Dare al demone il permesso di inviare dati a X-Ray.

Il demone ascolta i dati sulla porta 2000. UDP Puoi modificare la porta e altre opzioni utilizzando un file di configurazione e le opzioni della riga di comando. Per ulteriori informazioni, consulta Configurazione del demone AWS X-Ray.

Esecuzione del demone X-Ray su Linux

Puoi avviare il file eseguibile del daemon dalla riga di comando. Utilizza l'opzione -o per eseguirlo in modalità locale e -n per impostare la regione.

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

Per eseguire il daemon in background, utilizza &.

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

Termina un processo daemon in esecuzione in background pkill.

~$ pkill xray

Esecuzione del demone X-Ray in un contenitore Docker

Per eseguire il daemon in locale in un container Docker, salva il testo seguente in un file denominato Dockerfile. Scarica l'immagine di esempio completa su AmazonECR. Per ulteriori informazioni, consulta la sezione Download del demone.

Esempio Docker file — 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

Crea l'immagine del container docker build.

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

Esegui l'immagine in un container 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

Questo comando utilizza le seguenti opzioni:

  • --attach STDOUT— Visualizza l'output del demone nel terminale.

  • -v ~/.aws/:/root/.aws/:ro— Concedi al contenitore l'accesso in sola lettura alla .aws directory per consentirgli di leggere le tue credenziali. AWS SDK

  • AWS_REGION=us-east-2— Imposta la variabile di AWS_REGION ambiente per indicare al demone quale regione usare.

  • --net=host— Collega il contenitore alla host rete. I containers sulla rete dell'host possono comunicare tra loro senza pubblicare le porte.

  • -p 2000:2000/udp— Mappa la UDP porta 2000 sulla macchina alla stessa porta del contenitore. Questo non è necessaria per la comunicazione tra container nella stessa rete, ma consente di inviare segmenti al daemon dalla riga di comando o da un'applicazione non in esecuzione su Docker.

  • --name xray-daemon— Assegna un nome al contenitore xray-daemon invece di generare un nome casuale.

  • -o(dopo il nome dell'immagine): aggiunge l'-oopzione al punto di ingresso che esegue il demone all'interno del contenitore. Questa opzione indica al demone di funzionare in modalità locale per impedirgli di leggere i metadati delle EC2 istanze Amazon.

Per arrestare il daemon, utilizza docker stop. Se effettui modifiche al file Dockerfile e crei una nuova immagine, devi cancellare il container esistente prima di poterne creare un altro con lo stesso nome. Per eliminare il container, utilizza docker rm.

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

Esecuzione del demone X-Ray su Windows

Puoi avviare il file eseguibile del daemon dalla riga di comando. Utilizza l'opzione -o per eseguirlo in modalità locale e -n per impostare la regione.

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

Usa uno PowerShell script per creare ed eseguire un servizio per il demone.

Esempio 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

Esecuzione del demone X-Ray su OS X

Puoi avviare il file eseguibile del daemon dalla riga di comando. Utilizza l'opzione -o per eseguirlo in modalità locale e -n per impostare la regione.

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

Per eseguire il daemon in background, utilizza &.

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

Utilizza nohup per evitare che il daemon venga terminato alla chiusura del terminale.

~/xray-daemon$ nohup ./xray_mac &