查看 CloudFront 和邊緣功能指標 - Amazon CloudFront

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

查看 CloudFront 和邊緣功能指標

您可以在控制台中查看有關 CloudFront 分佈和邊緣功能的 CloudFront 操作指標。

若要在中檢視 CloudFront 和邊緣函數度量 CloudFront
  1. 登入 AWS Management Console 並開啟 CloudFront 主控台,位於https://console.aws.amazon.com/cloudfront/v4/home

  2. 在導覽窗格中,選擇 Monitoring (監控)

  3. 若要檢視特定 CloudFront 分佈或邊緣函數之活動的相關圖形,請選擇其中一個,然後選擇 [檢視分佈量度] 或 [檢視量度]。

  4. 您可以執行以下動作以自訂圖表:

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

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

  5. 若要在 CloudWatch 主控台中檢視 CloudFront 圖形,請選擇 [新增至儀表板]。您必須使用美國東部 (維吉尼亞北部) 區域檢視主 CloudWatch 控台中的圖形。

預設 CloudFront 分佈指標

下列預設量度適用於所有 CloudFront 發行版本,無須額外付費:

請求

所有 HTTP 方法以及 HTTP 和 HTTPS 要求所接收的檢視器要求總數。 CloudFront

下載的位元組數

瀏覽者執行 GETHEADOPTIONS 請求時下載的位元組總數。

上傳的位元組數

檢視者上傳 CloudFront、使用POSTPUT要求的位元組總數。

4xx 錯誤率

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

5xx 錯誤率

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

總錯誤率

回應的 HTTP 狀態碼為 4xx5xx 之所有瀏覽者請求的百分比。

這些測量結果會以圖形顯示在 CloudFront 主控台的 [監視] 頁面上的每個 CloudFront 分佈。在每個圖表上,總計會以 1 分鐘為間隔來顯示。除了檢視圖形之外,您也可以以 CSV 檔案格式下載指標報告

開啟其他CloudFront 分佈量度

除了預設指標之外,您還可以開啟其他指標,但需要支付額外費用。如需成本的詳細資訊,請參閱預估其他 CloudFront 量度的成本

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

快取命中率

為其 CloudFront 提供快取內容的所有可快取要求的百分比。HTTP POSTPUT 請求及錯誤不視為可快取請求。

來源延遲

從 CloudFront 接收請求到開始對網路 (非檢視者) 提供回應 (而非檢視者) 從原始提供要求 (而非 CloudFront 快取) 所花費的總時間。這也稱為第一個位元組延遲,或time-to-first-byte

依狀態碼分類的錯誤率

其回應的 HTTP 狀態碼是 4xx5xx 範圍中之特定程式碼的所有瀏覽者請求的百分比。此指標適用於下列所有錯誤碼:401403404502503504

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

Console
開啟其他量度
  1. 登入 AWS Management Console 並開啟 CloudFront 主控台,位於https://console.aws.amazon.com/cloudfront/v4/home

  2. 在導覽窗格中,選擇 Monitoring (監控)

  3. 選擇要開啟其他指標的分佈,然後選擇 View distribution metrics (檢視分佈指標)

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

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

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

CloudFormation

若要使用開啟其他量度 CloudFormation,請使用AWS::CloudFront::MonitoringSubscription資源類型。下列範例顯示用於啟用其他量度的 YAML 格式的範 AWS 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 取代為您正在檢查的發行版的識別碼。

    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 作業。

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

預估其他 CloudFront 量度的成本

當您開啟分發的其他量度時,最多 CloudFront 會傳送 8 個指標至 CloudWatch 美國東部 (維吉尼亞北部) 區域。 CloudWatch 針對每個量度收取較低的固定費率。此費率每個指標每月僅收取一次 (每個分佈最多 8 個指標)。這是固定費率,因此無論 CloudFront 分配接收或發送的請求或響應數量如何,您的費用都保持不變。有關每個指標費率,請參閱 Amazon 定 CloudWatch 價頁面和定CloudWatch價計算器。使用 API 擷取指標時,需支付額外的 CloudWatch API 費用。

預 Lambda 函數指標 @Edge

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

當您將 Lambda @Edge 函數附加至 CloudFront 分發中的快取行為時,Lambda 會開始 CloudWatch 自動將指標傳送至。指標適用於所有 Lambda 區域,但若要在 CloudWatch 主控台中檢視指標或從 CloudWatch API 取得指標資料,您必須使用美國東部 (維吉尼亞北部) 區域 (us-east-1)。指標群組名稱的格式為:AWS/CloudFront/distribution-ID,其中分配識別碼是與 Lambda @Edge 函數相關聯之 CloudFront 分佈的識別碼。如需有關指 CloudWatch標的詳細資訊,請參閱 Amazon CloudWatch 使用者指南

主控台「 CloudFront 控」頁面上每個 Lambda @Edge 函數的圖形中會顯示下列預設指標:

  • 5xxLambda@Edge 的 錯誤率

  • Lambda 執行錯誤

  • Lambda 無效回應

  • Lambda 節流器

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

如果您看到想要調查的錯誤激增,您可以選擇一個函數,然後按 AWS 地區檢視記錄檔,直到您判斷哪個函數造成問題,以及在哪個 AWS 區域。如需針對 Lambda@Edge 錯誤進行故障診斷的詳細資訊,請參閱:

預設 CloudFront 函數量度

CloudFront 函數會將操作指標傳送至 Amazon,以 CloudWatch 便您監控您的功能。檢視這些指標可協助您疑難排解、追蹤和偵錯問題。CloudFront 函數會將下列量度發佈至 CloudWatch:

  • 叫用 (FunctionInvocations) – 在給定時間段內啟動 (叫用) 函數的次數。

  • 驗證錯誤 (FunctionValidationErrors) – 函數在給定時間段內產生的驗證錯誤數。函數成功執行但返回無效的資料 (無效的 事件物件) 時,就會發生驗證錯誤。

  • 執行錯誤 (FunctionExecutionErrors) – 在給定時間段內發生的執行錯誤次數。當函數無法成功完成時,就會發生執行錯誤。

  • 運用利用率(FunctionComputeUtilization) – 執行函數所花費的時間,以所允許時間上限的百分比表示。例如,35 的值表示該函數以所允許時間上限的 35% 完成。此指標是介於 0 到 100 之間的數字。

    如果此值達到或接近 100,則函數已使用或接近使用允許的執行時間,並且可能會限制後續要求。如果您的函數以 80% 以上的使用率執行,建議您檢閱函數以縮短執行時間並提高使用率。例如,您可能只想記錄錯誤、簡化任何複雜的 regex 運算式,或移除不必要的複雜 JSON 物件剖析。

  • 調節 (FunctionThrottles) – 在特定期間內調節函數的次數。可能會因下列原因而對函數進行調節:

    • 函數連續超過允許執行的最長時間

    • 函數導致編譯錯誤

    • 每秒請求數異常高

CloudFront KeyValueStore 還會將以下操作指標發送給 Amazon CloudWatch:

  • 讀取要求 (KvsReadRequests) — 函數在指定時間段內成功從索引鍵值存放區讀取的次數。

  • Read errors (KvsReadErrors) — 函數在指定時間段內從索引鍵值存放區讀取失敗的次數。

所有這些量度都會發佈至 CloudFront 命名空間 CloudWatch 中的美國東部 (維吉尼亞北部us-east-1) 區域 ()。您也可以在 CloudWatch 主控台中檢視這些指標。在 CloudWatch 控制台中,您可以查看每個函數或每個分佈每個函數的指標。

您也可以使用 CloudWatch 根據這些指標設定警示。例如,您可以根據執行時間 (FunctionComputeUilization) 指標來設定警示,這代表函數執行所花費的可用時間百分比。當執行時間達到一定的值一定的時間。例如,如果您在連續 15 分鐘內選擇超過 70% 的可用時間,則會觸發警示。您可以在建立警示時指定警示的值及其時間單位。

注意

CloudFront 函數 CloudWatch 只會針對LIVE階段中為回應生產要求和回應而執行的函數傳送量度。當您測試函數時, CloudFront不會將任何指標傳送至 CloudWatch。測試輸出包含有關錯誤,計算利用率和函數日誌(console.log()語句)的信息,但這些信息不會發送到 CloudWatch。

如需如何使用 CloudWatch API 取得這些指標的相關資訊,請參閱使用 Amazon CloudWatch API 取得指標