本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch Lambda Insights 的故障診斷和已知問題
故障診斷任何問題的第一個步驟是啟用 Lambda Insights 延伸上的偵錯記錄。為此,請在 Lambda 函數上設定下列環境變數:LAMBDA_INSIGHTS_LOG_LEVEL=info
。如需詳細資訊,請參閱使用 AWS Lambda
環境變數。
該延伸將日誌發出至與您的函數相同的日誌群組 (/aws/lambda/
)。檢閱這些日誌,查看錯誤是否可能與安裝問題有關。function-name
)
我看不到來自 Lambda Insights 的任何指標
如果看不到您預期會看到的 Lambda Insights 指標,請檢查下列可能性:
指標可能只是延遲— 如果尚未叫用函數或資料尚未清除,您將不會在 CloudWatch 中看到指標。如需詳細資訊,請參閱本節後續的已知問題部分。
確認 Lambda 函數具有正確的許可— 確定已將 CloudWatchLambdaInsightsExecutionRolePolicy IAM 政策指派給函數的執行角色。
檢查 Lambda 執行時間— Lambda Insights 僅支援特定的 Lambda 執行時間。如需支援的執行時間的清單,請參閱 Lambda Insights。
例如,若要在 Java 8 上使用 Lambda Insights,您必須使用
java8.al2
執行時間,而不是java8
執行時間。檢查網路存取— Lambda 函數可能位於沒有網際網路存取的 VPC 私有子網路上,而且您沒有為 CloudWatch Logs 設定 VPC 端點。為了協助偵錯此問題,您可以將環境變數設為
LAMBDA_INSIGHTS_LOG_LEVEL=info
。
已知問題
資料延遲最多可達 20 分鐘。當函數處理常式完成時,Lambda 會凍結沙盒,也會凍結 Lambda Insights 延伸。在函數執行時,我們使用基於 TPS 函數的自適應批次策略來輸出資料。不過,如果函數停止叫用一段時間,且緩衝區中仍有事件資料,則可能會延遲此資料,直到 Lambda 關閉閒置沙盒為止。當 Lambda 關閉沙盒時,我們會排清緩衝的資料。