使用 Lambda 函數指標 - AWS Lambda

使用 Lambda 函數指標

當您的 AWS Lambda 函數處理完事件時,Lambda 會將呼叫的相關指標傳送給 Amazon CloudWatch。啟用這些指標不會產生額外費用。

在 CloudWatch 主控台上,您可以使用這些指標建置圖表和儀表板。您可以設定警示來回應使用率、效能或錯誤率變更。Lambda 每隔 1 分鐘會將指標資料傳送至 CloudWatch。如果您想要更快地了解 Lambda 函數,則可以建立高解析度自訂指標。啟用自訂指標和 CloudWatch 警示將會產生費用。如需詳細資訊,請參閱 CloudWatch 定價

此頁面描述了 CloudWatch 主控台上可用的 Lambda 函數叫用、效能和並行指標。

在 CloudWatch 主控台上檢視指標

您可以使用 CloudWatch 主控台,依函數名稱、別名或版本來篩選和排序函數指標。

若要在 CloudWatch 主控台上檢視指標

  1. 開啟 CloudWatch 主控台的指標頁面 (AWS/Lambda 命名空間)。

  2. 選擇一個維度。

    • 依函數名稱 (FunctionName) - 檢視函數所有版本和別名的彙總指標。

    • 依資源 (Resource) - 檢視函數版本或別名的指標。

    • 執行版本 (ExecutedVersion) - 檢視別名與版本組合的指標。使用 ExecutedVersion 維度來比較兩個函式版本的錯誤率,這兩個版本都是加權別名的目標。

    • 跨所有函數 (無) - 檢視目前 AWS 區域中所有函數的彙總指標。

  3. 選擇指標以將其新增至圖表。

根據預設,圖表會針對所有指標使用 Sum 統計資料。若要選擇不同的統計資料並自訂圖表,請使用 Graphed metrics (圖表化指標) 標籤中的選項。

注意

指標上的時間戳記會反映呼叫函數的時間。根據叫用的持續時間,這可能是發出指標前的幾分鐘。例如,如果您的函數逾時 10 分鐘,請查看過去 10 分鐘之前,以獲取精確的指標。

如需有關 CloudWatch 的詳細資訊,請參閱 Amazon CloudWatch 使用者指南

指標類型

下一節描述 CloudWatch 主控台上可用的指標類型。

使用呼叫指標

呼叫指標是呼叫結果的二進制指標。例如,若函數傳回錯誤,Lambda 會使用值 1 傳送 Errors 指標。若要取得每分鐘發生的函數錯誤數目,請以一分鐘為其檢視 Errors 指標的 Sum

檢視下列有 Sum 統計資料的指標。

呼叫指標

  • Invocations – 您的函數程式碼被叫用的次數,包含成功叫用和造成函數錯誤的叫用。如果呼叫要求受到調節,或導致呼叫錯誤,系統就不會記錄呼叫。這等於計費的要求數目。

  • Errors - 導致函數錯誤的呼叫數目。函數錯誤包含程式碼擲回的例外,以及 Lambda 執行時間擲回的例外。執行時間會針對如逾時和組態錯誤等問題傳回錯誤。若要計算錯誤率,將 Errors 的值除以 Invocations 的值。請注意,錯誤指標上的時間戳記會反映叫用函數的時間,而不是錯誤發生的時間。

  • DeadLetterErrors - 如為非同步叫用,則為 Lambda 嘗試傳送事件至無效字母佇列但失敗的次數。無效信件錯誤可能因權限錯誤、設定錯誤的資源或大小限制而發生。

  • DestinationDeliveryFailures - 如為非同步叫用,則為 Lambda 嘗試傳送事件至目的地但失敗的次數。傳遞錯誤可能因權限錯誤、設定錯誤的資源或大小限制而發生。

  • Throttles - 調節的叫用請求次數。當所有函數執行個體正在處理請求且沒有並行可供擴充規模時,Lambda 會使用 TooManyRequestsException 錯誤拒絕其他請求。調節的請求和其他呼叫錯誤不會計為 InvocationsErrors

  • ProvisionedConcurrencyInvocations - 在佈建並行上叫用函數程式碼的次數。

  • ProvisionedConcurrencySpilloverInvocations - 當所有佈建並行在使用中時,在標準並行上叫用函數程式碼的次數。

使用效能指標

效能指標提供單一呼叫的效能詳細資料。例如,Duration 指標表示您的函式處理事件時以豪秒計算的時間。若要了解您的函數如何處理事件,請檢視這些有 AverageMax 統計資料的指標。

表現指標

  • Duration - 您的函數程式碼處理一個事件時所花費的時間。叫用的帳單持續時間是 Duration 四捨五入到最接近毫秒的值。

  • PostRuntimeExtensionsDuration - 在函數程式碼完成後,執行時間在執行程式碼進行擴展時所用的累計時間。

  • IteratorAge - 對於從串流中進行讀取的事件來源映射,則為事件中最後一筆記錄的存留期。存留期是串流接收記錄到事件來源映射將事件傳送至函式之間的時間。

  • OffsetLag – 若為適用於 Apache Kafka (Amazon MSK) 的自我管理 Apache Kafka 和 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 事件來源,則為寫入主題的最後一筆記錄與 Lambda 函數取用者群組處理的最後一筆記錄之間的偏移量差異。雖然 Kafka 主題會有多個分區,但這個指標可以在主題層級測量偏移延遲。

Duration 也支援百分位數統計資料。使用百分比排除偏差平均統計值和最大統計值的離群值。例如,p95 統計資料會顯示叫用的最大持續時間為 95%,不包括最慢的 5%。

使用並行指標

Lambda 報告並行指標做為跨函數、版本、別名或 AWS 區域處理事件的執行個體數的彙總計數。若要查看您與達到並行限制的接近程度,請使用 Max 統計資料檢視這些指標。

並行指標

  • ConcurrentExecutions - 處理事件的函數執行個體數目。如果此數目達到您的區域並行執行配額,或您在函式中設定的保留並行限制,Lambda 就會調節額外的呼叫請求。

  • ProvisionedConcurrentExecutions - 在佈建並行上處理事件的函數執行個體數目。針對具有佈建並行之別名或版本的每次叫用,Lambda 都會發出目前的計數。

  • ProvisionedConcurrencyUtilization - 對於版本或別名,則為 ProvisionedConcurrentExecutions 的值除以配置的佈建並行總量。例如,.5 表示 50% 已配置的佈建並行正在使用中。

  • UnreservedConcurrentExecutions - 若為區域,則是沒有保留並行的函數所處理的事件數目。