

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 上執行 X-Ray 協助程式 AWS Elastic Beanstalk
<a name="xray-daemon-beanstalk"></a>

**注意**  
X-Ray 開發套件/協助程式維護通知 – 在 2026 年 2 月 25 日， AWS X-Ray SDKs/協助程式將進入維護模式，其中 AWS 將限制 X-Ray 開發套件和協助程式版本，以僅解決安全問題。如需支援時間表的詳細資訊，請參閱 [X-Ray SDK 和協助程式支援時間表](xray-sdk-daemon-timeline.md)。建議您遷移至 OpenTelemetry。如需遷移至 OpenTelemetry 的詳細資訊，請參閱[從 X-Ray 檢測遷移至 OpenTelemetry 檢測](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)。

若要將追蹤資料從應用程式轉送至 AWS X-Ray，您可以在 Elastic Beanstalk 環境的 Amazon EC2 執行個體上執行 X-Ray 協助程式。如需支援的平台清單，請參閱《 *AWS Elastic Beanstalk 開發人員指南*》中的[設定 AWS X-Ray 偵錯](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-configuration-debugging.html)。

**注意**  
精靈會使用您環境的執行個體描述檔以獲得許可。如需將許可新增至 Elastic Beanstalk 執行個體描述檔的指示，請參閱 [授予協助程式將資料傳送至 X-Ray 的許可](xray-daemon.md#xray-daemon-permissions)。

Elastic Beanstalk 平台提供可設定為自動執行協助程式的組態選項。您可以在原始程式碼的組態檔案中啟用協助程式，或在 Elastic Beanstalk 主控台中選擇 選項。當您啟用組態選項時，精靈便會在執行個體上安裝並做為服務執行。

Elastic Beanstalk 平台上包含的版本可能不是最新版本。請參閱[支援的平台主題](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html)以了解您平台組態可使用的精靈版本。

Elastic Beanstalk 不會在多容器 Docker (Amazon ECS) 平台上提供 X-Ray 協助程式。

## 使用 Elastic Beanstalk X-Ray 整合來執行 X-Ray 協助程式
<a name="xray-daemon-beanstalk-option"></a>

使用 主控台開啟 X-Ray 整合，或使用組態檔案在您的應用程式原始程式碼中設定。

**在 Elastic Beanstalk 主控台中啟用 X-Ray 協助程式**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)。

1. 導覽至您環境的[管理主控台](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-console.html)。

1. 選擇 **Configuration (組態)**。

1. 選擇 **Software Settings (軟體設定)**。

1. 針對 **X-Ray daemon (X-Ray 精靈)**，請選擇 **Enabled (啟用)**。

1. 選擇**套用**。

您可以在您的來源碼中包含組態檔，來在環境間攜帶您的組態。

**Example .ebextensions/xray-daemon.config**  

```
option_settings:
  aws:elasticbeanstalk:xray:
    XRayEnabled: true
```

Elastic Beanstalk 會將組態檔案傳遞至協助程式，並將日誌輸出至標準位置。

**Windows Server 平台**
+ **組態檔案** – `C:\Program Files\Amazon\XRay\cfg.yaml`
+ **日誌** – `c:\Program Files\Amazon\XRay\logs\xray-service.log`

**Linux 平台**
+ **組態檔案** – `/etc/amazon/xray/cfg.yaml`
+ **日誌** – `/var/log/xray/xray.log`

Elastic Beanstalk 提供從 AWS 管理主控台 或 命令列提取執行個體日誌的工具。您可以使用組態檔案新增任務，指示 Elastic Beanstalk 包含 X-Ray 協助程式日誌。

**Example .ebextensions/xray-logs.config - Linux**  

```
files:
  "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" :
    mode: "000644"
    owner: root
    group: root
    content: |
      /var/log/xray/xray.log
```

**Example .ebextensions/xray-logs.config - Windows Server**  

```
files:
  "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" :
    mode: "000644"
    owner: root
    group: root
    content: |
      c:\Progam Files\Amazon\XRay\logs\xray-service.log
```

如需詳細資訊，請參閱[《 開發人員指南》中的從 Elastic Beanstalk 環境的 Amazon EC2 執行個體檢視日誌](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html)。 *AWS Elastic Beanstalk *

## 手動下載並執行 X-Ray 協助程式 （進階）
<a name="xray-daemon-beanstalk-manual"></a>

如果您的平台組態無法使用 X-Ray 協助程式，您可以從 Amazon S3 下載它，並使用組態檔案執行它。

使用 Elastic Beanstalk 組態檔案下載並執行協助程式。

**Example .ebextensions/xray.config - Linux**  

```
commands:
  01-stop-tracing:
    command: yum remove -y xray
    ignoreErrors: true
  02-copy-tracing:
    command: curl https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm -o /home/ec2-user/xray.rpm
  03-start-tracing:
    command: yum install -y /home/ec2-user/xray.rpm

files:
  "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" :
    mode: "000644"
    owner: root
    group: root
    content: |
      /var/log/xray/xray.log
  "/etc/amazon/xray/cfg.yaml" :
    mode: "000644"
    owner: root
    group: root
    content: |
      Logging:
        LogLevel: "debug"
      Version: 2
```

**Example .ebextensions/xray.config - Windows Server**  

```
container_commands:
  01-execute-config-script:
    command: Powershell.exe -ExecutionPolicy Bypass -File c:\\temp\\installDaemon.ps1
    waitAfterCompletion: 0
 
files:
  "c:/temp/installDaemon.ps1":
    content: |
      if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ) {
          sc.exe stop AWSXRayDaemon
          sc.exe delete AWSXRayDaemon
      }

      $targetLocation = "C:\Program Files\Amazon\XRay"
      if ((Test-Path $targetLocation) -eq 0) {
          mkdir $targetLocation
      }

      $zipFileName = "aws-xray-daemon-windows-service-3.x.zip"
      $zipPath = "$targetLocation\$zipFileName"
      $destPath = "$targetLocation\aws-xray-daemon"
      if ((Test-Path $destPath) -eq 1) {
          Remove-Item -Recurse -Force $destPath
      }

      $daemonPath = "$destPath\xray.exe"
      $daemonLogPath = "$targetLocation\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)

      New-Service -Name "AWSXRayDaemon" -StartupType Automatic -BinaryPathName "`"$daemonPath`" -f `"$daemonLogPath`""
      sc.exe start AWSXRayDaemon
    encoding: plain
  "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" :
    mode: "000644"
    owner: root
    group: root
    content: |
      C:\Program Files\Amazon\XRay\xray-daemon.log
```

這些範例也會將協助程式的日誌檔案新增至 Elastic Beanstalk 結尾日誌任務，以便在您使用主控台或 Elastic Beanstalk 命令列界面 (EB CLI) 請求日誌時包含該檔案。