

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

# 使用 Amazon CloudWatch 監控 CloudFront 指標
<a name="monitoring-using-cloudwatch"></a>

Amazon CloudFront 與 Amazon CloudWatch 整合，並自動為分佈和邊緣函數 (包含 [Lambda@Edge 和 CloudFront Functions](edge-functions.md)) 發佈運作指標。您可利用這些指標以協助疑難排解、追蹤和偵錯問題。這些指標大部分以一組圖形顯示於 CloudFront 主控台，也可以使用 CloudFront API 或 CLI 存取。所有這些指標皆可在 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch/home)或透過 CloudWatch API 或 CLI 取得。CloudFront 指標不會計入 [CloudWatch 配額 (前稱為限制)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)，也不會產生任何額外的費用。

除了 CloudFront 發佈的預設指標之外，您還可以開啟其他指標，但需要支付額外費用。額外的指標適用於 CloudFront 發佈，而且必須分別為每個發佈開啟。如需成本的詳細資訊，請參閱[估算其他 CloudFront 指標的成本](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional-pricing)。





您也可以在 CloudFront 主控台、CloudWatch 主控台、API 或 CLI 中，根據這些指標設定警示。例如，您可以根據 `5xxErrorRate` 指標設定警示，該指標代表回應的 HTTP 狀態碼在 `500` 到 `599` 範圍內之所有瀏覽者請求的百分比。當錯誤率在特定時間內達到特定值 (例如連續 5 分鐘達到 5% 的請求) 時，就會觸發警示。您可以在建立警示時指定警示的值及其時間單位。

**備註**  
您在 CloudFront 主控台中建立 CloudWatch 警示時，系統會在美國東部 (維吉尼亞北部) 區域 (`us-east-1`) 為您建立警示。如果您從 CloudWatch 主控台建立警示，則必須使用相同區域。由於 CloudFront 是全球服務，因此服務指標會傳送到美國東部 (維吉尼亞北部)。
建立警示時適用[標準 CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

**Topics**
+ [檢視 CloudFront 和邊緣函數指標](viewing-cloudfront-metrics.md)
+ [建立 指標的 警示](receiving-notifications.md)
+ [以 CSV 格式下載指標資料](cloudwatch-csv.md)
+ [CloudFront 的指標類型](programming-cloudwatch-metrics.md)

# 檢視 CloudFront 和邊緣函數指標
<a name="viewing-cloudfront-metrics"></a>

您可以在 CloudFront 主控台中檢視有關 CloudFront 發佈和[邊緣函數](https://aws.amazon.com/cloudfront/features/#Edge_Computing)的操作指標。

**在 CloudFront 檢視 CloudFront 和邊緣函數指標**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在導覽窗格中，選擇 **Monitoring (監控)**。

1. 若要檢視特定 CloudFront 發佈或邊緣函數的相關活動圖表，請選擇一個圖表，然後選擇 **View distribution metrics** (檢視發佈指標) 或 **View metrics** (檢視指標)。

1. 您可以執行以下動作以自訂圖表：

   1. 若要變更顯示在圖表中資訊的時間範圍，請選擇 1h (1 小時)、3h (3 小時) 或其他範圍或指定自訂範圍。

   1. 若要變更圖表中 CloudFront 更新資訊的頻率，請選擇重新整理圖示旁的向下箭頭，然後選擇重新整理速率。預設重新整理速率為 1 分鐘，但您可以選擇其他選項。

1. 若要在 CloudWatch 主控台中檢視 CloudFront 圖表，請選擇 **Add to dashboard (新增至儀表板)**。在 CloudWatch 主控台中，您必須使用美國東部 (維吉尼亞北部) 區域檢視圖表。

**Topics**
+ [預設的 CloudFront 分佈指標](#monitoring-console.distributions)
+ [開啟其他 CloudFront 分佈指標](#monitoring-console.distributions-additional)
+ [預設 Lambda@Edge 函數指標](#monitoring-console.lambda-at-edge)
+ [預設的 CloudFront Functions 指標](#monitoring-console.cloudfront-functions)

## 預設的 CloudFront 分佈指標
<a name="monitoring-console.distributions"></a>

所有 CloudFront 發佈皆包含下列預設指標，無需額外付費：

**請求**  
CloudFront 收到之所有 HTTP 方法以及 HTTP 和 HTTPS 請求的檢視器請求總數。

**下載的位元組數**  
檢視器針對 `GET` 和 `HEAD` 請求下載的位元組總數。

**上傳的位元組數**  
檢視器使用 `OPTIONS`、`POST` 和 `PUT` 請求上傳至 CloudFront 的位元組總數。

**4xx 錯誤率**  
回應的 HTTP 狀態碼為 `4xx` 之所有瀏覽者請求的百分比。

**5xx 錯誤率**  
回應的 HTTP 狀態碼為 `5xx` 之所有瀏覽者請求的百分比。

**總錯誤率**  
回應的 HTTP 狀態碼為 `4xx` 或 `5xx` 之所有瀏覽者請求的百分比。

在 CloudFront 主控台的**監控**頁面上，每個 CloudFront 分佈的這些指標都會以圖表顯示。在每個圖表上，總計會以 1 分鐘為間隔來顯示。除了檢視圖形之外，您也可以[以 CSV 檔案格式下載指標報告](cloudwatch-csv.md)。

## 開啟其他 CloudFront 分佈指標
<a name="monitoring-console.distributions-additional"></a>

除了預設指標之外，您還可以開啟其他指標，但需要支付額外費用。如需成本的詳細資訊，請參閱[估算其他 CloudFront 指標的成本](#monitoring-console.distributions-additional-pricing)。

必須分別為每個分佈開啟這些額外指標：

**快取命中率**  
CloudFront 從其快取中提供內容的所有可快取請求的百分比。HTTP `POST` 和 `PUT` 請求及錯誤不視為可快取請求。

**來源延遲**  
對於原始伺服器提供的請求 (非從 CloudFront 快取提供)，從 CloudFront 收到請求到開始對網路 (非檢視器) 提供回應所花費的總時長。這也稱為*第一位元組延遲*或*第一個位元組的時間*。

**依狀態碼分類的錯誤率**  
其回應的 HTTP 狀態碼是 `4xx` 或 `5xx` 範圍中之特定程式碼的所有瀏覽者請求的百分比。此指標適用於下列所有錯誤碼：`401`、`403`、`404`、`502`、`503` 和 `504`。

您可以在 CloudFront 主控台中使用、使用 AWS Command Line Interface (AWS CLI) CloudFormation或使用 CloudFront API 開啟其他指標。

------
#### [ Console ]

**開啟其他指標**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在導覽窗格中，選擇 **Monitoring (監控)**。

1. 選擇要開啟其他指標的分佈，然後選擇 **View distribution metrics (檢視分佈指標)**。

1. 選擇 **Manage additional metrics** (管理其他指標)。

1. 在 **Manage additional metrics** (管理其他指標) 視窗中，開啟 **Enabled** (已啟用)。開啟其他指標後，您可以關閉 **Manage additional metrics** (管理其他指標) 視窗。

   開啟其他指標後，它們會顯示在圖表中。在每個圖表上，總計會以 1 分鐘為間隔來顯示。除了檢視圖形之外，您也可以[以 CSV 檔案格式下載指標報告](cloudwatch-csv.md)。

------
#### [ CloudFormation ]

若要使用 CloudFormation 開啟其他指標，請使用 `AWS::CloudFront::MonitoringSubscription` 資源類型。下列範例顯示 YAML 格式的 CloudFormation 範本語法，用於啟用其他指標。

```
Type: AWS::CloudFront::MonitoringSubscription
Properties: 
  DistributionId: EDFDVBD6EXAMPLE
  MonitoringSubscription:
    RealtimeMetricsSubscriptionConfig:
      RealtimeMetricsSubscriptionStatus: Enabled
```

------
#### [ CLI ]

若要使用 AWS Command Line Interface (AWS CLI) 管理其他指標，請使用下列其中一個命令：

**開啟分佈的其他指標**
+ 使用 **create-monitoring-subscription** 命令，如下列範例所示。將 *EDFDVBD6EXAMPLE* 取代為您要啟用其他指標的分佈 ID。

  ```
  aws cloudfront create-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE --monitoring-subscription RealtimeMetricsSubscriptionConfig={RealtimeMetricsSubscriptionStatus=Enabled}
  ```

**查看是否已針對分佈開啟其他指標**
+ 使用 **get-monitoring-subscription** 命令，如下列範例所示。將 *EDFDVBD6EXAMPLE* 取代為您正在檢查的分佈 ID。

  ```
  aws cloudfront get-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE
  ```

**關閉分佈的其他指標**
+ 使用 **delete-monitoring-subscription** 命令，如下列範例所示。將 *EDFDVBD6EXAMPLE* 取代為您要關閉其他指標的分佈 ID。

  ```
  aws cloudfront delete-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE
  ```

------
#### [ API ]

若要使用 CloudFront API 管理其他指標，請使用下列其中一項 API 作業。
+ 若要開啟分佈的其他指標，請使用 [CreateMonitoringSubscription](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateMonitoringSubscription.html)。
+ 若要查看是否已針對分佈開啟其他指標，請使用 [GetMonitoringSubscription](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetMonitoringSubscription.html)。
+ 若要關閉分佈的其他指標，請使用 [DeleteMonitoringSubscription](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DeleteMonitoringSubscription.html)。

如需這些 API 操作的詳細資訊，請參閱 AWS SDK 或其他 API 用戶端的 API 參考文件。

------

### 估算其他 CloudFront 指標的成本
<a name="monitoring-console.distributions-additional-pricing"></a>

在美國東部 (維吉尼亞北部) 區域，當您為某個發佈開啟其他指標時，CloudFront 最多會傳送 8 個指標到 CloudWatch。CloudWatch 會按固定的低費率向每個指標收費。此費率每個指標每月僅收取一次 (每個分佈最多 8 個指標)。這是固定費率，因此無論 CloudFront 發佈接收或傳送的請求或回應數量多少，您的成本均維持不變。如需每指標的費率，請參閱 [Amazon CloudWatch 定價頁面](https://aws.amazon.com/cloudwatch/pricing/)和 [CloudWatch 定價計算工具](https://aws.amazon.com/cloudwatch/pricing/#Pricing_calculator)。當您使用 CloudWatch API 擷取指標時，需另行支付 API 費用。

## 預設 Lambda@Edge 函數指標
<a name="monitoring-console.lambda-at-edge"></a>

您可以使用 CloudWatch 指標即時監控 Lambda@Edge 函數的問題。使用這些指標無需負擔額外費用。

當您將 Lambda @Edge 函數附加至 CloudFront 發佈中的快取行為，Lambda 會開始自動將指標傳送至 CloudWatch。所有 Lambda 區域均可使用指標，但若要在 CloudWatch 主控台中檢視指標或從 CloudWatch API 取得指標資料，您必須使用美國東部 (維吉尼亞北部) 區域 (`us-east-1`)。指標群組名稱格式為：`AWS/CloudFront/distribution-ID`，其中 *distribution-ID* 是 Lambda@Edge 函數所關聯的 CloudFront 分佈 ID。如需有關 Amazon CloudWatch 的詳細資訊，請參閱 [Amazon CloudWatch 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

在 CloudFront 主控台的**監控**頁面上，每個 Lambda@Edge 函數的下列預設指標都會以圖表顯示：
+ `5xx`Lambda@Edge 的 錯誤率
+ Lambda 執行錯誤
+ Lambda 無效回應
+ Lambda 節流器

每個圖表都包含了呼叫、錯誤、調節等資訊。在每個圖表上的總計也會以 1 分鐘為間隔，並按 AWS 區域分組來顯示。

如果您看到要調查的錯誤激增，您可以選擇函數，然後依 AWS 區域檢視日誌檔案，直到您判斷哪個函數造成問題，以及哪個 AWS 區域。如需針對 Lambda@Edge 錯誤進行故障診斷的詳細資訊，請參閱：
+ [如何判斷故障的類型](lambda-edge-testing-debugging.md#lambda-edge-testing-debugging-failure-type)
+ [在 上偵錯內容交付的四個步驟 AWS](https://aws.amazon.com/blogs/networking-and-content-delivery/four-steps-for-debugging-your-content-delivery-on-aws/)

## 預設的 CloudFront Functions 指標
<a name="monitoring-console.cloudfront-functions"></a>

CloudFront Functions 會將運作指標傳送到 Amazon CloudWatch，以便您監控自己的函數。檢視這些指標可協助您疑難排解、追蹤和偵錯問題。CloudFront Functions 會將下列指標發佈至 CloudWatch：
+ **叫用** (`FunctionInvocations`) – 在給定時間段內啟動 (叫用) 函數的次數。
+ **驗證錯誤** (`FunctionValidationErrors`) – 函數在給定時間段內產生的驗證錯誤數。函數成功執行但返回無效的資料 (無效的 [事件物件](functions-event-structure.md)) 時，就會發生驗證錯誤。
+ **執行錯誤** (`FunctionExecutionErrors`) – 在給定時間段內發生的執行錯誤次數。當函數無法成功完成時，就會發生執行錯誤。
+ **運用利用率**(`FunctionComputeUtilization`) – 執行函數所花費的時間，以所允許時間上限的百分比表示。例如，35 的值表示該函數以所允許時間上限的 35% 完成。此指標是介於 0 到 100 之間的數字。

  如果此值達到或接近 100，則函數已使用或接近使用允許的執行時間，且後續請求可能會受到限流。如果您的函數以 80% 以上的使用率執行，建議您檢閱函數，以減少執行時間並改善使用率。例如您可能只想要記錄錯誤、簡化任何複雜的 regex 表達式，或移除複雜 JSON 物件不必要的剖析。
+ **調節** (`FunctionThrottles`) – 在特定期間內調節函數的次數。可能會因下列原因而對函數進行調節：
  + 函數連續超過允許執行的最長時間
  + 函數導致編譯錯誤
  + 每秒請求數異常高

CloudFront KeyValueStore 也會將下列操作指標傳送至 Amazon CloudWatch：
+ **讀取請求** (`KvsReadRequests`)：函數在指定期間內成功從鍵值存放區讀取的次數。
+ **讀取錯誤** (`KvsReadErrors`)：函數在指定期間內無法從鍵值存放區讀取的次數。

所有這些指標都會發佈至美國東部 (維吉尼亞北部) 區域 (`us-east-1`) 中的 CloudWatch，位於 CloudFront 命名空間中。您也可以在 CloudWatch 主控台中檢視這些指標。在 CloudWatch 主控台中，您可以按每個函數檢視指標，也可以按每個發佈的每個函數檢視指標。

您也可以使用 CloudWatch 根據這些指標設定警示。例如，您可以根據執行時間 (`FunctionComputeUtilization`) 指標來設定警示，這代表函數執行所花費的可用時間百分比。執行時間達到特定值且持續特定時間長度時。例如若您連續 15 分鐘選擇 70% 以上的可用時間，就會觸發警示。您可以在建立警示時指定警示的值及其時間單位。

**注意**  
CloudFront Functions 只會針對 `LIVE` 階段中的函數將指標傳送至 CloudWatch，此類函數會執行以回應生產請求和回應。[測試函數](test-function.md)時，CloudFront 不會將任何指標傳送至 CloudWatch。測試輸出包含錯誤、運算利用率和函數日誌 (`console.log()` 陳述式) 的相關資訊，但此資訊不會傳送至 CloudWatch。

如需如何使用 CloudWatch API 取得這些指標的相關資訊，請參閱 [CloudFront 的指標類型](programming-cloudwatch-metrics.md)。

# 建立 指標的 警示
<a name="receiving-notifications"></a>

您可以在 CloudFront 主控台中設定警示，讓 Amazon Simple Notification Service (Amazon SNS) 根據特定的 CloudFront 指標通知您。

**建立指標的警示**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在導覽窗格中，選擇 **Alarms** (警示)。

1. 選擇**建立警示**。

1. 針對**詳細資訊**指定以下內容：

   1. **警示名稱**：警示的名稱。

   1. **分佈**：您要為其建立警示的 CloudFront 分佈。

1. 針對**條件**指定下列項目：

   1. **指標**：您要為其建立警示的指標。

   1. **"IF" <condition>**：指定 CloudWatch 觸發警示的閾值，並將通知傳送到 Amazon SNS 主題。例如，要在 `5xx` 錯誤率超過 1% 時收到通知，請指定以下內容：

      **5xx 錯誤率** **> 1**

   1. **"FOR" 連續期間**：觸發警示之前必須符合條件的持續時間。您選擇值時，請盡量在值之間取得適當平衡，讓該值不會針對暫時的問題發出警示，但會針對持續或實際問題發出警示。

   1. (選用) **通知**：此指標觸發警示時，要傳送通知的目標 Amazon SNS 主題。

1. 選擇 **Create alarm** (建立警示)。

**備註**  
您輸入條件的值時，請使用無標點符號的整數。例如，若要指定一千，請輸入 **1000**。
對於 `4xx`、`5xx` 和總錯誤率，您指定的值為百分比。
對於請求、下載的位元組和上傳的位元組，您指定的值是單位。例如，1073742000 個位元組。

如需建立 Amazon SNS 主題的詳細資訊，請參閱《*Amazon Simple Notification Service 開發人員指南*》中的[建立 Amazon SNS 主題](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)。

# 以 CSV 格式下載指標資料
<a name="cloudwatch-csv"></a>

您可以使用 CSV 格式下載 CloudFront 發佈的 CloudWatch 指標資料。

**以 CSV 格式下載指標資料**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在導覽窗格中，選擇 **Monitoring (監控)**。

1. 選擇分佈，然後選擇**檢視分佈指標**。

1. 選擇**下載 CSV**，然後選擇期間 (例如**過去 1 天 (1 小時期間)**)。

1. 下載檔案之後，請將其開啟以檢視下列資訊。

**Topics**
+ [有關報告的資訊](#cloudwatch-csv-header)
+ [指標報告中的資料](#cloudwatch-csv-data)

## 有關報告的資訊
<a name="cloudwatch-csv-header"></a>

報告的前幾行包含以下資訊：

**版本**  
CloudFront 報告版本。

**報告**  
報告名稱。

**DistributionID**  
您執行報表的分佈 ID。

**StartDateUTC**  
您所執行報告日期範圍的開始時間，是以國際標準時間 (UTC) 為準。

**EndDateUTC**  
您執行報告的日期範圍的結束時間，以國際標準時間 (UTC) 為準。

**GeneratedTimeUTC**  
您執行報告的日期和時間，以國際標準時間 (UTC) 為準。

**精細程度**  
在報告中每行的時間段，例如 `ONE_MINUTE`。

## 指標報告中的資料
<a name="cloudwatch-csv-data"></a>

該報告包含以下值：

**DistributionID**  
您執行報表的分佈 ID。

**FriendlyName**  
分佈的備用網域名稱 (CNAME)，如果有的話。如果分佈沒有備用網域名稱，則該清單包括分佈的原始網域名稱。

**TimeBucket**  
適用於小時或天的資料，以國際標準時間 (UTC) 為準。

**請求**  
在這段期間，所有 HTTP 狀態碼 (例如 `200`、`404` 等) 和所有方法 (例如 `GET`、`HEAD`、`POST` 等) 的請求總數。

**BytesDownloaded**  
瀏覽者在這段期間為指定分佈下載的位元組數。

**BytesUploaded**  
瀏覽者在這段期間為指定分佈上傳的位元組數。

**TotalErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `4xx` 或 `5xx` 錯誤的請求百分比。。

**4xxErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `4xx` 錯誤的請求百分比。

**5xxErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `5xx` 錯誤的請求百分比。

如果您已為分佈[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)，則報表也會包含下列額外值：

**401ErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `401` 錯誤的請求百分比。

**403ErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `403` 錯誤的請求百分比。

**404ErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `404` 錯誤的請求百分比。

**502ErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `502` 錯誤的請求百分比。

**503ErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `503` 錯誤的請求百分比。

**504ErrorRatePct**  
在這段期間，對於指定分佈，HTTP 狀態碼為 `504` 錯誤的請求百分比。

**OriginLatency**  
對於原始伺服器提供的請求 (非從 CloudFront 快取提供)，從 CloudFront 收到請求到開始對網路 (非檢視器) 提供回應所花費的總時長 (以毫秒為單位)。這也稱為*第一位元組延遲*或*第一個位元組的時間*。

**CacheHitRate**  
CloudFront 從其快取中提供內容的所有可快取請求的百分比。HTTP `POST` 和 `PUT` 請求及錯誤不視為可快取請求。

# CloudFront 的指標類型
<a name="programming-cloudwatch-metrics"></a>

您可以使用 CloudWatch API 或 AWS Command Line Interface (AWS CLI)，在您建置的程式或應用程式中取得 CloudFront 指標。您可以使用原始資料來建置自己的自訂儀表板、您自己的警示工具等等。

如需詳細資訊，請參閱《*AWS CLI 命令參考*》中的 [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html) 或《*Amazon CloudWatch API 參考*》中的 [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) API 操作。

**Topics**
+ [所有 CloudFront 指標的值](#cloudfront-metrics-global-values)
+ [CloudFront 分發指標的值](#cloudfront-metrics-distribution-values)
+ [CloudFront 函數指標的值](#cloudfront-metrics-function-values)

**注意**  
若要從 CloudWatch API 取得 CloudFront 指標，您必須使用美國東部 (維吉尼亞北部) 區域 (`us-east-1`)。您還必須知道每個指標的特定值和類型。

## 所有 CloudFront 指標的值
<a name="cloudfront-metrics-global-values"></a>

下列值適用於所有 CloudFront 指標：

**`Namespace`**  
`Namespace` 的值永遠為 `AWS/CloudFront`。

**維度**  
每個 CloudFront 指標都有下列維度：    
**`DistributionId`**  
您想要取得指標之目標 CloudFront 分發的 ID。  
**`FunctionName`**  
您要取得指標之目標函數的名稱 (在 CloudFront Functions 中)。  
此維度僅適用於函數。  
**`Region`**  
`Region` 值一律為 `Global`，因為 CloudFront 是全球服務。

## CloudFront 分發指標的值
<a name="cloudfront-metrics-distribution-values"></a>

使用下列清單中的資訊，從 CloudWatch API 取得特定 CloudFront 分發的詳細資訊。其中一些指標只有在您已為分佈開啟其他指標時才能使用。

**注意**  
每個指標僅適用一個統計資料 (`Average` 或 `Sum`)。下列清單指定適用於該指標的統計資料。

**4xx 錯誤率**  
回應的 HTTP 狀態碼為 `4xx` 之所有瀏覽者請求的百分比。  
+ 指標名稱：`4xxErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**401 錯誤率**  
回應的 HTTP 狀態碼為 `401` 之所有瀏覽者請求的百分比。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`401ErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**403 錯誤率**  
回應的 HTTP 狀態碼為 `403` 之所有瀏覽者請求的百分比。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`403ErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**404 錯誤率**  
回應的 HTTP 狀態碼為 `404` 之所有瀏覽者請求的百分比。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`404ErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**5xx 錯誤率**  
回應的 HTTP 狀態碼為 `5xx` 之所有瀏覽者請求的百分比。  
+ 指標名稱：`5xxErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**502 錯誤率**  
回應的 HTTP 狀態碼為 `502` 之所有瀏覽者請求的百分比。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`502ErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**503 錯誤率**  
回應的 HTTP 狀態碼為 `503` 之所有瀏覽者請求的百分比。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`503ErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**504 錯誤率**  
回應的 HTTP 狀態碼為 `504` 之所有瀏覽者請求的百分比。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`504ErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**下載的位元組數**  
檢視器針對 `GET` 和 `HEAD` 請求下載的位元組總數。  
+ 指標名稱：`BytesDownloaded`
+ 有效統計資訊：`Sum`
+ 單位：`None`

**上傳的位元組數**  
檢視器使用 `OPTIONS`、`POST` 和 `PUT` 請求上傳至 CloudFront 的位元組總數。  
+ 指標名稱：`BytesUploaded`
+ 有效統計資訊：`Sum`
+ 單位：`None`

**快取命中率**  
CloudFront 從其快取中提供內容的所有可快取請求的百分比。HTTP `POST` 和 `PUT` 請求及錯誤不視為可快取請求。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`CacheHitRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**來源延遲**  
對於原始伺服器提供的請求 (非從 CloudFront 快取提供)，從 CloudFront 收到請求到開始對網路 (非檢視器) 提供回應所花費的總時長 (以毫秒為單位)。這也稱為*第一位元組延遲*或*第一個位元組的時間*。若要取得此指標，您必須先[開啟其他指標](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional)。  
+ 指標名稱：`OriginLatency`
+ 有效統計資訊：`Percentile`
+ 單位：`Milliseconds`
若要從 CloudWatch API 取得 `Percentile` 統計資料，請使用 `ExtendedStatistics` 參數，不要使用 `Statistics`。如需詳細資訊，請參閱 *Amazon CloudWatch API 參考*中的 [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)，或 [AWS 開發套件](https://docs.aws.amazon.com/#sdks)的參考文件。

**請求**  
CloudFront 收到之所有 HTTP 方法以及 HTTP 和 HTTPS 請求的檢視器請求總數。  
+ 指標名稱：`Requests`
+ 有效統計資訊：`Sum`
+ 單位：`None`

**總錯誤率**  
回應的 HTTP 狀態碼為 `4xx` 或 `5xx` 之所有瀏覽者請求的百分比。  
+ 指標名稱：`TotalErrorRate`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

## CloudFront 函數指標的值
<a name="cloudfront-metrics-function-values"></a>

使用下列清單中的資訊，從 CloudWatch API 取得特定 CloudFront 函數的詳細資訊。

**注意**  
每個指標僅適用一個統計資料 (`Average` 或 `Sum`)。下列清單指定適用於該指標的統計資料。

**呼叫**  
在給定時間段內啟動 (叫用) 函數的次數。  
+ 指標名稱：`FunctionInvocations`
+ 有效統計資訊：`Sum`
+ 單位：`None`

**驗證錯誤**  
函數在給定時間段內產生的驗證錯誤數。函數成功執行但返回無效的資料 (無效的事件物件) 時，就會發生驗證錯誤。  
+ 指標名稱：`FunctionValidationErrors`
+ 有效統計資訊：`Sum`
+ 單位：`None`

**執行錯誤**  
在給定時間段內發生的執行錯誤次數。當函數無法成功完成時，就會發生執行錯誤。  
+ 指標名稱：`FunctionExecutionErrors`
+ 有效統計資訊：`Sum`
+ 單位：`None`

**運算利用率**  
執行函數所花費的時間 (0-100)，以所允許時間上限的百分比表示。例如，值為 35 表示函數在最大允許時間的 35% 內完成。  
+ 指標名稱：`FunctionComputeUtilization`
+ 有效統計資訊：`Average`
+ 單位：`Percent`

**限流**  
在特定期間內調節函數的次數。  
+ 指標名稱：`FunctionThrottles`
+ 有效統計資訊：`Sum`
+ 單位：`None`