配置 AWS X-Ray 守護進程 - AWS X-Ray

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

配置 AWS X-Ray 守護進程

您可以使用指令行選項或組態檔案來自訂 X-Ray 精靈的行為。大多數的選項皆可透過這兩種方法取得,但有些選項僅可透過組態檔取得,有些選項也僅能透過命令列使用。

若要開始使用,您唯一需要知道的選項是-n--region,您用來設定精靈用來將追蹤資料傳送至 X-Ray 的區域。

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

如果您在本機執行常駐程式 (也就是不是在 Amazon EC2 上),您可以新增略過檢查執行個體設定檔登入資料的-o選項,以便協助程式更快就緒。

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

其餘命令列選項可讓您設定記錄日誌、在不同連接埠進行接聽、限制精靈能使用的記憶體數量,或是取得角色來將追蹤資料傳送至不同帳戶。

您可以將組態檔案傳遞給精靈,以存取進階設定選項,並執行諸如將同時呼叫數限制為 X-Ray、停用記錄輪替,以及將流量傳送至 Proxy 等作業。

支援的環境變數

X-Ray 精靈支援下列環境變數:

  • AWS_REGION— 指定 AWS 區域X-Ray 服務端點。

  • HTTPS_PROXY— 指定要透過上傳區段的精靈代理位址。這可以是 DNS 網域名稱,或是代理伺服器使用的 IP 地址和連接埠號碼。

使用命令列選項

在您於本機執行,或是使用使用者資料指令碼時將這些選項傳遞至精靈。

命令列選項
  • -b, --bind — 偵聽不同 UDP 連接埠上的區段文件。

    --bind "127.0.0.1:3000"

    預設值 — 2000

  • -t--bind-tcp— 在不同的 TCP 連接埠上接聽 X-Ray 服務的呼叫。

    -bind-tcp "127.0.0.1:3000"

    預設值 — 2000

  • -c--config— 從指定的路徑載入組態檔案。

    --config "/home/ec2-user/xray-daemon.yaml"
  • -f--log-file— 將記錄輸出至指定的檔案路徑。

    --log-file "/var/log/xray-daemon.log"
  • -l--log-level-日誌級別,從最詳細到最小:開發,調試,信息,警告,錯誤,prod。

    --log-level warn

    預設值 — prod

  • -m--buffer-memory— 變更緩衝區可以使用的記憶體容量 (至少 3)。

    --buffer-memory 50

    預設 — 1% 的可用記憶體。

  • -o--local-mode— 不檢查 EC2 執行個體中繼資料。

  • -r--role-arn— 假設指定的 IAM 角色,將區段上傳至其他帳戶。

    --role-arn "arn:aws:iam::123456789012:role/xray-cross-account"
  • -a, --resource-arn — 執行守護程式之資源的 Amazon AWS 資源名稱 (ARN)。

  • -p, --proxy-address — AWS X-Ray 透過代理將區段上傳至。必須指定代理伺服器的通訊協定。

    --proxy-address "http://192.0.2.0:3000"
  • -n--region — 將區段傳送至特定區域的 X-Ray 服務。

  • -v, --version — 顯示 AWS X-Ray 守護進程版本。

  • -h--help— 顯示說明畫面。

使用組態檔

您也可以使用 YAML 格式的檔案來設定精靈。使用 -c 選項來將組態檔傳遞至精靈。

~$ ./xray -c ~/xray-daemon.yaml
組態檔選項
  • TotalBufferSizeMB— 緩衝區大小上限 (以 MB 為單位) (最小 3)。選擇 0 來使用主機記憶體的 1%。

  • Concurrency— 上傳區段文件的同時 AWS X-Ray 呼叫數目上限。

  • Region— 發送細分以在特定區域 AWS X-Ray 服務。

  • Socket— 配置守護進程的綁定。

  • Logging— 設定記錄行為。

    • LogRotation— 設定為停false用防護記錄輪換。

    • LogLevel— 將記錄層級從最詳細資訊變更為最小:devdebuginfoprod、、warnerrorprod。預設值為prod,相當於info

    • LogPath— 將日誌輸出到指定的文件路徑。

  • LocalMode— 設定為可略true過檢查 EC2 執行個體中繼資料。

  • ResourceARN— 執行守護程式之資源的 Amazon AWS 資源名稱 (ARN)。

  • RoleARN— 假設指定的 IAM 角色將區段上傳至其他帳戶。

  • ProxyAddress— 透 AWS X-Ray 過代理將區段上傳至。

  • Endpoint— 變更精靈將區段文件傳送至的 X-Ray 服務端點。

  • NoVerifySSL— 停用 TLS 憑證驗證。

  • Version— 守護程式組態檔案格式版本。檔案格式版本為必填欄位。

範例 xray-daemon.yaml

此組態檔會將精靈的接聽連接埠變更為 3000、關閉執行個體中繼資料檢查,設定上傳區段所要使用的角色,並變更區域與記錄日誌選項。

Socket: UDPAddress: "127.0.0.1:3000" TCPAddress: "127.0.0.1:3000" Region: "us-west-2" Logging: LogLevel: "warn" LogPath: "/var/log/xray-daemon.log" LocalMode: true RoleARN: "arn:aws:iam::123456789012:role/xray-cross-account" Version: 2