View a markdown version of this page

檢視 CloudFront 和邊緣函數指標 - Amazon CloudFront

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

檢視 CloudFront 和邊緣函數指標

您可以在 CloudFront 主控台中檢視有關 CloudFront 發佈和邊緣函數的操作指標。

在 CloudFront 檢視 CloudFront 和邊緣函數指標
  1. 登入 AWS 管理主控台 ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home。

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

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

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

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

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

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

預設的 CloudFront 分佈指標

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

請求

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

下載的位元組數

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

上傳的位元組數

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

4xx 錯誤率

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

5xx 錯誤率

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

總錯誤率

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

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

開啟其他 CloudFront 分佈指標

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

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

快取命中率

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。

  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 格式的 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 作業。

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

估算其他 CloudFront 指標的成本

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

預設 Lambda@Edge 函數指標

您可以使用 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 使用者指南。

在 CloudFront 主控台的監控頁面上,每個 Lambda@Edge 函數的下列預設指標都會以圖表顯示:

  • 5xxLambda@Edge 的 錯誤率

  • Lambda 執行錯誤

  • Lambda 無效回應

  • Lambda 節流器

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

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

預設的 CloudFront Functions 指標

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

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

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

  • 執行錯誤 (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,此類函數會執行以回應生產請求和回應。測試函數時,CloudFront 不會將任何指標傳送至 CloudWatch。測試輸出包含錯誤、運算利用率和函數日誌 (console.log() 陳述式) 的相關資訊,但此資訊不會傳送至 CloudWatch。

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