如何解決 X-Ray 的追蹤配額錯誤?

1 分的閱讀內容
0

我想解決「This trace has reached its maximum allocated quota.For more information, see AWS X-Ray endpoints and quotas」(此追蹤已達到分配的最大配額。如需詳細資訊,請參閱「AWS X-Ray 端點和配額」) 錯誤。

簡短說明

下列情況可能會導致追蹤文件超出 AWS X-Ray 允許的限制:

  • 您為追蹤傳送的批次區段數目增加,其中追蹤文件大小超過 500 KB。
  • 您傳送非批次區段以用於追蹤,其中追蹤文件大小超過 100 KB。
  • 您新增了自訂區段、中繼資料和註解,導致追蹤文件的大小增加。

X-Ray 追蹤文件大小上限會隨著您一起傳送的區段數量動態調整。這是因為超過上限追蹤功能的緣故。如果您在附加至追蹤的批次中ㄧ次傳送大量區段,上限為 500 KB。如果您每隔一段時間傳送個別區段以附加至追蹤,則上限為 100 KB。

傳送追蹤的速度越快 (批次處理和傳送的區段越多),壓縮效率就越高。傳送追蹤的速度越慢 (每隔一段時間個別傳送區段),追蹤就會分割成越多個修訂版。此外,傳送追蹤的速度越慢,追蹤在後端使用的快取儲存容量就越多。持續時間越長的追蹤會產生更多的重複項目,並導致 X-Ray 收集更少的資料。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確定您使用的是最新的 AWS CLI 版本

請在 X-Ray 主控台中檢視追蹤,或執行下列命令來確認追蹤文件超過大小限制:

aws xray batch-get-traces --trace-ids <EXAMPLE_TRACE_ID>

**注意:**將您追蹤的 ID 替換為 EXAMPLE_TRACE_ID

X-Ray 會為較大的追蹤收集下列資訊:

{
    "Id": "<EXAMPLE_TRACE_ID>",
    "Duration": 187.859,
    "LimitExceeded": true,
    "Segments": [
         ...
     ]
     ....
 }

**注意:**如果 LimitExceeded 參數為 true,則表示您已超過追蹤或區段配額。

為追蹤傳送的批次區段數目增加,其中追蹤文件大小超過 500 KB

當您將 Step Functions 與 X-Ray 整合時,就會發生此情況。將 Step Functions 與 X-Ray 整合時,您無法自訂 X-Ray 追蹤或不追蹤的項目。當您透過所有 AWS Lambda 函數傳遞追蹤 ID 時,區段資料會新增至追蹤 ID。

如果您使用的是 Step Functions,請完成以下步驟:

  1. 前往 Step Functions,然後關閉作用中的追蹤。
  2. 僅針對關鍵工作流程透過 Lambda 函數傳送追蹤 ID,避免超過追蹤上限。
  3. 如果 Lambda 從上游服務接收追蹤標頭,請從 Lambda 執行角色中移除 PutTraceSegments 權限。系統會動態調整上限。

如果您沒有使用 Step Functions,請完成以下步驟:

  1. 偵錯程式碼,檢查您是否針對不同要求傳遞相同的追蹤 ID。
  2. 中斷此追蹤。若要執行此操作,請勿將調用中的追蹤 ID 傳遞至下游服務。
  3. 從中斷點建立新的追蹤 ID。

**注意:**如果您為每個應用程式建立追蹤 ID,則追蹤計數會增加。為方便追蹤,請將關鍵應用程式工作流程集中至單一追蹤。

如需詳細資訊,請參閱 AWS X-Ray 和 Step Functions

傳送非批次區段以用於追蹤,其中追蹤文件大小超過 100 KB

針對此情況,請使用前一節中的解決方案。

中斷追蹤以使用新上限 100 KB。或者,在應用程式中批次處理更多區段,將上限增加到 500 KB。只有 OpenTelemetry SDK 才支援批次處理區段。如果您使用的是 X-Ray SDK,請變更應用程式傳送區段的方式。

新增自訂區段、中繼資料和註解,導致文件大小增加

為減少追蹤文件大小,請勿將額外的自訂區段新增至同一個追蹤 ID。僅針對必要的工作流程新增自訂區段。此外,為減少追蹤文件大小,請減少追蹤內的中繼資料和註解。

AWS 官方
AWS 官方已更新 1 年前