本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
存取 CloudWatch Logs 洞察
此解決方案會記錄 Lambda 函數的錯誤、警告、資訊和偵錯訊息。若要選擇要記錄的訊息類型:
-
在 AWS Lambda 主控台中尋找適用的函數。
-
新增 POWERTOOLS_LOG_LEVEL 環境變數。
-
將變數設定為適用的訊息類型。
如需進一步指示,請參閱AWS Lambda Lambda 開發人員指南》中的建立 Lambda 環境變數。
下表列出您可以選擇的日誌層級類型。
| Level | Description |
|---|---|
|
ERROR (錯誤) |
日誌包含任何導致 操作失敗的資訊。 |
|
WARNING |
日誌包含任何可能導致函數不一致,但不一定會導致操作失敗的資訊。日誌也包含錯誤訊息。 |
|
INFO |
日誌包含有關函數運作方式的高階資訊。日誌也包含 ERROR 和 WARNING 訊息。 |
|
除錯 |
日誌包含偵錯函數問題時可能有幫助的資訊。日誌也包含 ERROR、WARNING 和 INFO 訊息。 |
使用下列程序將 CloudWatch Logs 洞察新增至此解決方案。
-
識別相關的日誌群組:
-
選擇您的目標堆疊。
-
選取資源索引標籤,並搜尋您的目標 Lambda 函數。
-
登入 AWS Lambda 主控台
,然後選擇每個目標 Lambda 函數。 -
針對每個目標 Lambda 函數,選取監控索引標籤,然後選擇檢視 CloudWatch Logs。
-
複製您要從中擷取洞見的日誌群組名稱。
-
在導覽功能表的日誌下,選擇日誌洞見。
-
在 Logs Insights 頁面上,選擇 Logs 索引標籤。
-
從步驟 1 搜尋日誌群組名稱。
-
複製下列其中一個範例查詢,並將其貼到查詢欄位中:
-
若要識別所有用戶端例外狀況:
fields @message |filter @message like /(?i)Exception/|stats count(*) as exceptionCount by @message -
若要依函數名稱擷取調用計數:
stats count(*) by function_name -
若要擷取五分鐘間隔內的調用計數:
stats count(*) as invocations by bin(5m) -
若要擷取所有 AWS X-Ray
IDs: filter @message like "XRAY TraceId" |parse @message "XRAY TraceId: * " as traceId|stats count(*) by traceId -
若要擷取與特定 X-Ray 追蹤 ID 相關的日誌:
filter @message like "your-traceid-here" -
若要擷取未經授權的 WebSocket 錯誤:
fields @ingestionTime, @log, @logStream, @message, @requestId, @timestamp, errorMessage, errorType |filter @message like /Unauthorized/ and @message like /websocket/|sort @timestamp desc -
若要擷取已發佈的指標計數:
filter @message like "CloudWatchMetrics" |parse @message /"Metrics":\s*\[(?<metrics>.*?)\]/|stats count(*) as metric_count by metrics
-