

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 访问 CloudWatch 日志见解
<a name="access-cloudwatch-logs-insights"></a>

此解决方案记录了 Lambda 函数的错误、警告、信息和调试消息。要选择要记录的消息类型，请执行以下操作：

1. 在 AWS Lambda 控制台中找到适用的函数。

1. 添加 **POWERTOOLS\_LOG\_LEV** EL 环境变量

1. 将变量设置为适用的消息类型。

有关更多说明，请参阅 *AWS Lambda 开发人员指南中的创建 Lambda* [环境变量](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html)。

下表列出了您可以选择的日志级别类型。


| 级别 | 说明 | 
| --- | --- | 
|  **ERROR (错误)**  | 日志包含有关导致操作失败的任何内容的信息。 | 
|  **WARNING**  | 日志包含任何可能导致函数不一致但不一定会导致操作失败的信息的信息。日志还包括错误消息。 | 
|  **信息**  | 日志包含有关函数运行方式的高级信息。日志还包括错误和警告消息。 | 
|  **调试**  | 日志包含在调试函数问题时可能有用的信息。日志还包括错误、警告和信息消息。 | 

使用以下步骤向该解决方案添加 CloudWatch 日志见解。

1. 确定相关的日志组：

   1. 登录 A [WS CloudFormation 控制台](https://console.aws.amazon.com/cloudformation)。

   1. 选择您的目标堆栈。

   1. 选择**资源**选项卡并搜索您的目标 Lambda 函数。

   1. 登录 [AWS Lambda 控制台](https://console.aws.amazon.com/lambda)并选择您的每个目标 Lambda 函数。

   1. 对于每个目标 Lambda 函数，选择**监控**选项卡，然后选择**查看 CloudWatch **日志。

   1. 复制要从中提取见解的日志组的名称。

1. 导航至 [Amazon CloudWatch 控制台](https://console.aws.amazon.com/cloudwatch)。

1. 在导航菜单上的 “**日志**” 下，选择 “**日志见解**”。

1. 在 “**日志见解**” 页面上，选择 “日**志**” 选项卡。

1. 搜索步骤 1 中的日志组名称。

1. 复制以下示例查询之一，然后将其粘贴到查询字段中：

   1. 要识别所有客户机异常，请执行以下操作：

      ```
      fields @message
      |filter @message like /(?i)Exception/|stats count(*) as exceptionCount by @message
      ```

   1. 要按函数名检索调用次数，请执行以下操作：

      ```
      stats count(*) by function_name
      ```

   1. 要检索五分钟间隔内的调用次数，请执行以下操作：

      ```
      stats count(*) as invocations by bin(5m)
      ```

   1. 要检索所有 [AWS X-Ray](https://aws.amazon.com/xray/) 跟踪，请执行 IDs以下操作

      ```
      filter @message like "XRAY TraceId"
      |parse @message "XRAY TraceId: * " as traceId|stats count(*) by traceId
      ```

   1. 要检索与特定 X-Ray Trace ID 相关的日志，请执行以下操作：

      ```
      filter @message like "your-traceid-here"
      ```

   1. 要检索未经授权的 WebSocket 错误：

      ```
      fields
      @ingestionTime,
      @log,
      @logStream,
      @message,
      @requestId,
      @timestamp,
      errorMessage,
      errorType
      |filter @message like /Unauthorized/ and @message like /websocket/|sort @timestamp desc
      ```

   1. 要检索已发布的指标数量，请执行以下操作：

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