Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Lokales Ausführen des X-Ray-Daemons
Sie können den AWS X-Ray Daemon lokal unter Linux, macOS, Windows oder in einem Docker-Container ausführen. Führen Sie den Daemon aus, um Trace-Daten an X-Ray weiterzuleiten, wenn Sie Ihre instrumentierte Anwendung entwickeln und testen. Laden Sie den Daemon herunter und extrahieren Sie ihn. Diesbezügliche Anweisungen finden Sie hier.
Wenn der Daemon lokal ausgeführt wird, kann er Anmeldeinformationen aus einer AWS SDK Anmeldeinformationsdatei (.aws/credentials
in Ihrem Benutzerverzeichnis) oder aus Umgebungsvariablen lesen. Weitere Informationen finden Sie unter Dem Daemon die Erlaubnis geben, Daten an X-Ray zu senden.
Der Daemon wartet auf UDP Daten auf Port 2000. Sie können den Port und andere Optionen mithilfe einer Konfigurationsdatei und von Befehlszeilenoptionen ändern. Weitere Informationen finden Sie unter Konfigurieren des AWS X-Ray Daemon.
Den X-Ray-Daemon unter Linux ausführen
Sie können die ausführbare Datei des Daemons an der Befehlszeile ausführen. Verwenden Sie die Option -o
zur Ausführung im lokalen Modus und -n
zum Festlegen der Region.
~/xray-daemon$ ./xray -o -n us-east-2
Zum Ausführen des Daemons im Hintergrund verwenden Sie &
.
~/xray-daemon$ ./xray -o -n us-east-2 &
Beenden Sie einen Daemonprozess, der im Hintergrund ausgeführt wird, mit pkill
.
~$ pkill xray
Den X-Ray-Daemon in einem Docker-Container ausführen
Um den Daemon lokal in einem Docker-Container auszuführen, speichern Sie den folgenden Text in einer Datei mit dem Namen Dockerfile
. Laden Sie das vollständige Beispielbild
Beispiel 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
Entwickeln Sie das Container-Image mit docker build
.
~/xray-daemon$ docker build -t xray-daemon .
Führen Sie das Abbild in einem Container mit docker run
aus.
~/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
Dieser Befehl verwendet die folgenden Optionen:
-
--attach STDOUT
— Zeigt die Ausgabe des Daemons im Terminal an. -
-v ~/.aws/:/root/.aws/:ro
— Geben Sie dem Container nur Lesezugriff auf das.aws
Verzeichnis, damit er Ihre Anmeldeinformationen lesen kann. AWS SDK -
AWS_REGION=
— Setzt dieus-east-2
AWS_REGION
Umgebungsvariable, um dem Daemon mitzuteilen, welche Region er verwenden soll. -
--net=host
— Hängt den Container an dashost
Netzwerk an. Container im Hostnetzwerk können miteinander kommunizieren, ohne Ports zu veröffentlichen. -
-p 2000:2000/udp
— UDP Ordnen Sie Port 2000 auf Ihrem Computer demselben Port auf dem Container zu. Dies ist für die Kommunikation von Containern in demselben Netzwerk nicht erforderlich. Sie können mit ihr aber Segmente über die Befehlszeile oder Anwendung, die nicht in Docker ausgeführt wird, zum Daemon senden. -
--name xray-daemon
— Benennen Sie den Container,xray-daemon
anstatt einen zufälligen Namen zu generieren. -
-o
(nach dem Imagenamen) — Hängen Sie die-o
Option an den Einstiegspunkt an, der den Daemon innerhalb des Containers ausführt. Diese Option weist den Daemon an, im lokalen Modus zu laufen, um zu verhindern, dass er versucht, EC2 Amazon-Instance-Metadaten zu lesen.
Um den Daemon zu beenden, verwenden Sie docker stop
. Wenn Sie nach der Vornahme von Änderungen am Dockerfile
ein neues Abbild erstellen, müssen Sie den vorhandenen Container löschen, damit Sie einen anderen mit demselben Namen erstellen können. Verwenden Sie docker rm
zum Löschen des Containers.
$ docker stop xray-daemon
$ docker rm xray-daemon
Den X-Ray-Daemon unter Windows ausführen
Sie können die ausführbare Datei des Daemons an der Befehlszeile ausführen. Verwenden Sie die Option -o
zur Ausführung im lokalen Modus und -n
zum Festlegen der Region.
> .\xray_windows.exe -o -n us-east-2
Verwenden Sie ein PowerShell Skript, um einen Dienst für den Daemon zu erstellen und auszuführen.
Beispiel PowerShell Skript — 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
Den X-Ray-Daemon auf OS X ausführen
Sie können die ausführbare Datei des Daemons an der Befehlszeile ausführen. Verwenden Sie die Option -o
zur Ausführung im lokalen Modus und -n
zum Festlegen der Region.
~/xray-daemon$ ./xray_mac -o -n us-east-2
Zum Ausführen des Daemons im Hintergrund verwenden Sie &
.
~/xray-daemon$ ./xray_mac -o -n us-east-2 &
Verwenden Sie nohup
, um zu verhindern, dass der Daemon vorzeitig beendet wird, wenn das Terminal geschlossen wird.
~/xray-daemon$ nohup ./xray_mac &