Amazon API Gateway 主動追蹤支援 AWS X-Ray - AWS X-Ray

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

Amazon API Gateway 主動追蹤支援 AWS X-Ray

當使用者請求透過 Amazon API Gateway 送至基礎服務時,您可以使用 X-Ray 來追蹤和分析使用者請求。API Gateway 支援所有 API Gateway 端點類型的 X-Ray 追蹤:區域、邊緣最佳化和私有。您可以在所有可用 X-Ray 的 AWS 區域 地方使用 X-Ray 與 Amazon API Gateway。如需詳細資訊,請參閱 Amazon API Gateway 開發人員指南 AWS X-Ray中的追蹤 API 閘道 API 執行

注意

X-Ray 僅支援透過 API Gateway 追蹤其餘 API。

Amazon API Gateway 提供的主動追蹤支援 AWS X-Ray。在 API 階段啟用主動追蹤,以取樣傳入的請求並將追蹤傳送至 X-Ray。

啟用 API 階段的主動追蹤
  1. 在以下網址開啟 API Gateway 主控台:https://console.aws.amazon.com/apigateway/

  2. 選擇一個 API。

  3. 選擇一個階段。

  4. 在「記錄/追蹤」標籤上,選擇「啟用 X-Ray 追蹤」,然後選擇「儲存變更」。

  5. 在左側導覽窗格中,選擇 Resources (資源)

  6. 若要使用新設定重新部署 API,請選擇 [動作] 下拉式清單,然後選擇 [部署 API]。

API Gateway 會使用您在 X-Ray 主控台中定義的取樣規則來決定要記錄的要求。您可以建立僅套用至 API 的規則,或僅套用至包含特定標頭的要求。API Gateway 會在區段的屬性中記錄標頭,以及有關階段和要求的詳細資訊。如需詳細資訊,請參閱 設定 取樣規則

注意

使用 API Gateway HTTP 整合追蹤 REST API 時,會將每個區段的服務名稱設定為從 API Gateway 到 HTTP 整合端點的要求 URL 路徑,從而在每個唯一 URL 路徑的 X-Ray 追蹤對應上產生一個服務節點。大量 URL 路徑可能會導致追蹤對應超過 10,000 個節點的限制,進而導致錯誤。

若要盡量減少 API Gateway 建立的服務節點數目,請考慮在 URL 查詢字串內或透過 POST 在要求內文中傳遞參數。這兩種方法都可以確保參數不是 URL 路徑的一部分,這可能會導致較少的不同 URL 路徑和服務節點。

對於所有傳入的請求,API Gateway 會將追蹤標頭新增至還沒有的連入 HTTP 要求。

X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
X-Ray 軌跡 ID 格式

X-Ray trace_id 由三個用連字符分隔的數字組成。例如 1-58406520-a006649127e371903a2de979。其中包含:

  • 版本號碼,也就是1

  • 原始請求的時間在 Unix 紀元時間使用 8 個十六進制數字

    例如,2016 年 12 月 1 日上午 10:00 PST (以紀元時間表示) 為1480615200秒或十六進58406520位數字。

  • 追蹤的全域唯一 96 位元識別碼,以 24 個十六進位數字顯示。

即使停用主動追蹤,如果請求是來自已抽樣請求並已開始追蹤的服務,階段仍會記錄區段。例如,經過檢測的 Web 應用程式可以使用 HTTP 用戶端呼叫 API Gateway API。當您使用 X-Ray SDK 檢測 HTTP 用戶端時,它會在包含取樣決策的傳出要求中新增追蹤標頭。API Gateway 讀取追蹤標頭,並為取樣要求建立區段。

如果您使用 API Gateway 為您的 API 產生 Java SDK,您可以透過在用戶端建置器中新增要求處理常式來檢測 SDK 用戶端,方法與您手動檢測 AWS SDK 用戶端的方式相同。如需說明,請參閱 使用適用於 Java 的 X-Ray AWS SDK 追蹤 SDK 呼叫