監控耐用的 函數 - AWS Lambda

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

監控耐用的 函數

您可以使用 CloudWatch 指標、CloudWatch Logs 和追蹤來監控耐用的函數。由於耐用的函數可以長時間執行並跨越多個函數叫用,因此監控它們需要了解其獨特的執行模式,包括檢查點、狀態轉換和重播行為。

CloudWatch 指標

Lambda 會自動將指標發佈至 CloudWatch,無需額外費用。耐用函數提供超出標準 Lambda 指標的額外指標,協助您監控長時間執行的工作流程、狀態管理和資源使用率。

耐用的執行指標

Lambda 會針對持久性執行發出下列指標:

指標 Description
ApproximateRunningDurableExecutions 處於 RUNNING 狀態的耐久執行數目
ApproximateRunningDurableExecutionsUtilization 您帳戶目前正在使用的最大執行中耐久執行配額百分比
DurableExecutionDuration 持久執行保持為 RUNNING 狀態的經過時間,以毫秒為單位
DurableExecutionStarted 啟動的持久性執行數量
DurableExecutionStopped 使用 StopDurableExecution API 停止的耐久執行數目
DurableExecutionSucceeded 成功完成的持久性執行數量
DurableExecutionFailed 因失敗而完成的耐久執行數量
DurableExecutionTimedOut 超過其設定執行逾時的持久執行數量
DurableExecutionOperations 在持久性執行內執行的累計操作數 (上限:3,000)
DurableExecutionStorageWrittenBytes 持久性執行所保留以位元組為單位的累積資料量 (上限:100 MB)

CloudWatch 指標

Lambda 會發出耐用函數的標準調用、效能和並行指標。由於耐久的執行可能會在通過檢查點和重播時跨越多個函數叫用,因此這些指標的行為與標準函數不同:

  • 調用:計算每個函數調用,包括重播。單一耐久執行可以產生多個調用資料點。

  • 持續時間:分別測量每個函數叫用。DurableExecutionDuration 用於單一持久性執行所花費的總時間。

  • 錯誤:追蹤函數叫用失敗。DurableExecutionFailed 用於執行層級失敗。

如需標準 Lambda 指標的完整清單,請參閱 Lambda 函數的指標類型

建立 CloudWatch 警示

建立 CloudWatch 警示,以在指標超過閾值時通知您。常見警示包括:

  • ApproximateRunningDurableExecutionsUtilization 超過配額的 80%

  • DurableExecutionFailed 增加超過閾值

  • DurableExecutionTimedOut 表示執行逾時

  • DurableExecutionStorageWrittenBytes 接近儲存限制

如需詳細資訊,請參閱使用 CloudWatch 警示。

.

EventBridge 事件

Lambda 會將持久的執行狀態變更事件發佈至 EventBridge。您可以使用這些事件來觸發工作流程、傳送通知,或追蹤耐久函數的執行生命週期變更。

持久性執行狀態變更事件

每當持久性執行變更狀態時,Lambda 都會向 EventBridge 發出事件。這些事件具有下列特性:

  • 來源aws.lambda

  • 詳細資訊類型: Durable Execution Status Change

狀態變更事件會針對下列執行狀態發佈:

  • RUNNING - 執行已開始

  • SUCCEEDED - 執行成功完成

  • STOPPED - 使用 StopDurableExecution API 停止執行

  • FAILED - 執行失敗並發生錯誤

  • TIMED_OUT - 執行超過設定的逾時

下列範例顯示持久的執行狀態變更事件:

{ "version": "0", "id": "d019b03c-a8a3-9d58-85de-241e96206538", "detail-type": "Durable Execution Status Change", "source": "aws.lambda", "account": "123456789012", "time": "2025-11-20T13:08:22Z", "region": "us-east-1", "resources": [], "detail": { "durableExecutionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/090c4189-b18b-4296-9d0c-cfd01dc3a122/9f7d84c9-ea3d-3ffc-b3e5-5ec51c34ffc9", "durableExecutionName": "order-123", "functionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:2", "status": "RUNNING", "startTimestamp": "2025-11-20T13:08:22.345Z" } }

對於終端機狀態 (SUCCEEDEDSTOPPEDFAILEDTIMED_OUT),事件包含指出執行完成時間endTimestamp的欄位。

建立 EventBridge 規則

建立規則,將持久的執行狀態變更事件路由到 Amazon Simple Notification Service、Amazon Simple Queue Service 或其他 Lambda 函數等目標。

下列範例會建立符合所有持久執行狀態變更的規則:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"] }

下列範例會建立僅符合失敗執行的規則:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "status": ["FAILED"] } }

下列範例會建立符合特定函數狀態變更的規則:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "functionArn": [{ "prefix": "arn:aws:lambda:us-east-1:123456789012:function:my-function" }] } }

如需建立規則的詳細資訊,請參閱《EventBridge 使用者指南》中的 Amazon EventBridge 教學課程。 EventBridge

AWS X-Ray 追蹤

您可以在耐用的函數上啟用 X-Ray 追蹤。Lambda 會將 X-Ray 追蹤標頭傳遞至持久性執行,讓您追蹤整個工作流程的請求。

若要使用 Lambda 主控台啟用 X-Ray; 追蹤,請選擇您的函數,然後選擇組態、監控和操作工具,然後在 X-Ray 下開啟主動追蹤。

若要使用 啟用 X-Ray 追蹤 AWS CLI:

aws lambda update-function-configuration \ --function-name my-durable-function \ --tracing-config Mode=Active

若要使用 啟用 AWS X-Ray 追蹤 AWS SAM:

Resources: MyDurableFunction: Type: AWS::Serverless::Function Properties: Tracing: Active DurableConfig: ExecutionTimeout: 3600

如需 X-Ray 的詳細資訊,請參閱 AWS X-Ray 開發人員指南。