

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

# 監控耐用的 函數
<a name="durable-monitoring"></a>

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

## CloudWatch 指標
<a name="durable-monitoring-metrics"></a>

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

### 耐用的執行指標
<a name="durable-monitoring-execution-metrics"></a>

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


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

### CloudWatch 指標
<a name="durable-monitoring-standard-metrics"></a>

Lambda 會發出耐用函數的標準調用、效能和並行指標。由於耐久的執行可能會在通過檢查點和重播時跨越多個函數叫用，因此這些指標的行為與標準函數不同：
+ **調用：**計算每個函數調用，包括重播。單一耐久執行可以產生多個調用資料點。
+ **持續時間：**分別測量每個函數叫用。`DurableExecutionDuration` 用於單一持久性執行所花費的總時間。
+ **錯誤：**追蹤函數叫用失敗。`DurableExecutionFailed` 用於執行層級失敗。

如需標準 Lambda 指標的完整清單，請參閱 [Lambda 函數的指標類型](https://docs.aws.amazon.com//lambda/latest/dg/monitoring-metrics-types.html)。

### 建立 CloudWatch 警示
<a name="durable-monitoring-alarms"></a>

建立 CloudWatch 警示，以在指標超過閾值時通知您。常見警示包括：
+ `ApproximateRunningDurableExecutionsUtilization` 超過配額的 80%
+ `DurableExecutionFailed` 增加超過閾值
+ `DurableExecutionTimedOut` 表示執行逾時
+ `DurableExecutionStorageWrittenBytes` 接近儲存限制

如需詳細資訊，[請參閱使用 CloudWatch 警示。](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

## EventBridge 事件
<a name="durable-monitoring-eventbridge"></a>

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

### 持久性執行狀態變更事件
<a name="durable-eventbridge-status-changes"></a>

每當持久性執行變更狀態時，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"
  }
}
```

對於終端機狀態 (`SUCCEEDED`、`STOPPED`、`FAILED`、`TIMED_OUT`)，事件包含指出執行完成時間`endTimestamp`的欄位。

### 建立 EventBridge 規則
<a name="durable-eventbridge-rules"></a>

建立規則，將持久的執行狀態變更事件路由到 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 教學](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tutorial.html)課程。 EventBridge 

## AWS X-Ray 追蹤
<a name="durable-monitoring-xray"></a>

您可以在耐用的函數上啟用 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 開發人員指南。](https://docs.aws.amazon.com//xray/latest/devguide/aws-xray.html)