View a markdown version of this page

存取 CloudWatch Logs 洞察 - AWS 上的生成式 AI 應用程式建置器

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

存取 CloudWatch Logs 洞察

此解決方案會記錄 Lambda 函數的錯誤、警告、資訊和偵錯訊息。若要選擇要記錄的訊息類型:

  1. 在 AWS Lambda 主控台中尋找適用的函數。

  2. 新增 POWERTOOLS_LOG_LEVEL 環境變數。

  3. 將變數設定為適用的訊息類型。

如需進一步指示,請參閱AWS Lambda Lambda 開發人員指南》中的建立 Lambda 環境變數

下表列出您可以選擇的日誌層級類型。

Level Description

ERROR (錯誤)

日誌包含任何導致 操作失敗的資訊。

WARNING

日誌包含任何可能導致函數不一致,但不一定會導致操作失敗的資訊。日誌也包含錯誤訊息。

INFO

日誌包含有關函數運作方式的高階資訊。日誌也包含 ERROR 和 WARNING 訊息。

除錯

日誌包含偵錯函數問題時可能有幫助的資訊。日誌也包含 ERROR、WARNING 和 INFO 訊息。

使用下列程序將 CloudWatch Logs 洞察新增至此解決方案。

  1. 識別相關的日誌群組:

    1. 登入 AWS CloudFormation 主控台

    2. 選擇您的目標堆疊。

    3. 選取資源索引標籤,並搜尋您的目標 Lambda 函數。

    4. 登入 AWS Lambda 主控台,然後選擇每個目標 Lambda 函數。

    5. 針對每個目標 Lambda 函數,選取監控索引標籤,然後選擇檢視 CloudWatch Logs

    6. 複製您要從中擷取洞見的日誌群組名稱。

  2. 導覽至 Amazon CloudWatch 主控台

  3. 在導覽功能表的日誌下,選擇日誌洞見

  4. Logs Insights 頁面上,選擇 Logs 索引標籤。

  5. 從步驟 1 搜尋日誌群組名稱。

  6. 複製下列其中一個範例查詢,並將其貼到查詢欄位中:

    1. 若要識別所有用戶端例外狀況:

      fields @message |filter @message like /(?i)Exception/|stats count(*) as exceptionCount by @message
    2. 若要依函數名稱擷取調用計數:

      stats count(*) by function_name
    3. 若要擷取五分鐘間隔內的調用計數:

      stats count(*) as invocations by bin(5m)
    4. 若要擷取所有 AWS X-Ray IDs:

      filter @message like "XRAY TraceId" |parse @message "XRAY TraceId: * " as traceId|stats count(*) by traceId
    5. 若要擷取與特定 X-Ray 追蹤 ID 相關的日誌:

      filter @message like "your-traceid-here"
    6. 若要擷取未經授權的 WebSocket 錯誤:

      fields @ingestionTime, @log, @logStream, @message, @requestId, @timestamp, errorMessage, errorType |filter @message like /Unauthorized/ and @message like /websocket/|sort @timestamp desc
    7. 若要擷取已發佈的指標計數:

      filter @message like "CloudWatchMetrics" |parse @message /"Metrics":\s*\[(?<metrics>.*?)\]/|stats count(*) as metric_count by metrics