

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menjalankan daemon X-Ray secara lokal
<a name="xray-daemon-local"></a>

**catatan**  
Pemberitahuan SDK/Daemon Pemeliharaan X-Ray - Pada 25 Februari 2026, AWS SDKs/Daemon X-Ray akan memasuki mode pemeliharaan, di mana AWS akan membatasi rilis X-Ray SDK dan Daemon untuk mengatasi masalah keamanan saja. Untuk informasi selengkapnya tentang garis waktu dukungan, lihat[Garis waktu Dukungan X-Ray SDK dan Daemon](xray-sdk-daemon-timeline.md). Kami merekomendasikan untuk bermigrasi ke OpenTelemetry. Untuk informasi lebih lanjut tentang migrasi ke OpenTelemetry, lihat [Migrasi dari instrumentasi X-Ray ke instrumentasi](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Anda dapat menjalankan AWS X-Ray daemon secara lokal di Linux, macOS, Windows, atau dalam wadah Docker. Jalankan daemon untuk menyampaikan data pelacakan ke X-Ray saat Anda mengembangkan dan menguji aplikasi Anda yang diinstrumentasi. Unduh dan ekstrak daemon dengan menggunakan petunjuk [di sini](xray-daemon.md#xray-daemon-downloading).

Saat berjalan secara lokal, daemon dapat membaca kredensional dari file kredensional AWS SDK (`.aws/credentials`di direktori pengguna Anda) atau dari variabel lingkungan. Untuk informasi selengkapnya, lihat [Memberikan izin kepada daemon untuk mengirim data ke X-Ray](xray-daemon.md#xray-daemon-permissions).

Daemon mendengarkan data UDP pada port 2000. Anda dapat mengubah port dan opsi lain dengan menggunakan file konfigurasi dan opsi baris perintah. Untuk informasi selengkapnya, lihat [Mengkonfigurasi daemon AWS X-Ray](xray-daemon-configuration.md).

## Menjalankan daemon X-Ray di Linux
<a name="xray-daemon-local-linux"></a>

Anda dapat menjalankan daemon yang dapat dieksekusi dari baris perintah. Gunakan opsi `-o` untuk menjalankan dalam mode lokal, dan `-n` untuk mengatur wilayah.

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

Untuk menjalankan daemon di latar belakang, gunakan `&`.

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

Hentikan proses daemon yang berjalan di latar belakang dengan `pkill`.

```
~$ pkill xray
```

## Menjalankan daemon X-Ray di kontainer Docker
<a name="xray-daemon-local-docker"></a>

Untuk menjalankan daemon secara lokal di kontainer Docker, simpan teks berikut ke file bernama `Dockerfile`. Unduh [contoh gambar](https://gallery.ecr.aws/xray/aws-xray-daemon) lengkap di Amazon ECR. Lihat [mengunduh daemon untuk informasi](xray-daemon.md#xray-daemon-downloading) lebih lanjut.

**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
```

Bangun citra kontainer dengan `docker build`.

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

Jalankan citra dalam kontainer dengan `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
```

Perintah ini menggunakan opsi berikut:
+ `--attach STDOUT` – Lihat output dari daemon di terminal.
+ `-v ~/.aws/:/root/.aws/:ro`— Berikan akses read-only container ke `.aws` direktori untuk membiarkannya membaca kredensil AWS SDK Anda.
+ `AWS_REGION=us-east-2` – Set variabel lingkungan `AWS_REGION` untuk memberitahu daemon wilayah yang akan digunakan.
+ `--net=host` – Lampirkan kontainer ke jaringan `host`. Kontainer pada jaringan host dapat berkomunikasi satu sama lain tanpa memublikasikan port.
+ `-p 2000:2000/udp` – Petakan UDP port 2000 pada mesin Anda ke port yang sama pada kontainer. Ini tidak diperlukan untuk kontainer di jaringan yang sama untuk berkomunikasi, tetapi memungkinkan Anda mengirim segmen ke daemon [dari baris perintah](xray-api-sendingdata.md#xray-api-daemon) atau dari aplikasi yang tidak berjalan di Docker.
+ `--name xray-daemon` – Namakan kontainer `xray-daemon` bukan menghasilkan nama acak.
+ `-o` (setelah nama citra) - Tambahkan opsi `-o` ke titik masuk yang menjalankan daemon dalam kontainer. Opsi ini memberi tahu daemon untuk berjalan dalam mode lokal untuk mencegahnya mencoba membaca metadata EC2 instance Amazon.

Untuk menghentikan daemon, gunakan `docker stop`. Jika Anda membuat perubahan pada `Dockerfile` dan membangun citra baru, Anda perlu menghapus kontainer yang sudah ada sebelum Anda dapat membuat kontainer lain dengan nama yang sama. Gunakan `docker rm` untuk menghapus kontainer.

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

## Menjalankan Daemon X-Ray di Windows
<a name="xray-daemon-local-windows"></a>

Anda dapat menjalankan daemon yang dapat dieksekusi dari baris perintah. Gunakan opsi `-o` untuk menjalankan dalam mode lokal, dan `-n` untuk mengatur wilayah.

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

Gunakan PowerShell skrip untuk membuat dan menjalankan layanan untuk daemon.

**Example PowerShell skrip - 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
```

## Menjalankan daemon X-Ray di OS X
<a name="xray-daemon-local-osx"></a>

Anda dapat menjalankan daemon yang dapat dieksekusi dari baris perintah. Gunakan opsi `-o` untuk menjalankan dalam mode lokal, dan `-n` untuk mengatur wilayah.

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

Untuk menjalankan daemon di latar belakang, gunakan `&`.

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

Gunakan `nohup` untuk mencegah daemon berhenti ketika terminal ditutup.

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