

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CloudWatch Logs 인사이트 액세스
<a name="access-cloudwatch-logs-insights"></a>

이 솔루션은 Lambda 함수에 대한 오류, 경고, 정보 및 디버깅 메시지를 기록합니다. 로깅할 메시지 유형을 선택하려면:

1. AWS Lambda 콘솔에서 해당 함수를 찾습니다.

1. **POWERTOOLS\_LOG\_LEVEL** 환경 변수를 추가합니다.

1. 변수를 해당 메시지 유형으로 설정합니다.

자세한 지침은 *AWS Lambda * [Lambda 개발자 안내서의 Lambda 환경 변수 생성을](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) 참조하세요.

다음 표에는 선택할 수 있는 로그 수준 유형이 나열되어 있습니다.


| 수준 | 설명 | 
| --- | --- | 
|  **오류**  | 로그에는 작업이 실패하는 모든 항목에 대한 정보가 포함됩니다. | 
|  **경고**  | 로그에는 함수에서 불일치를 일으킬 수 있지만 반드시 작업이 실패하는 것은 아닌 모든 항목에 대한 정보가 포함됩니다. 로그에는 ERROR 메시지도 포함됩니다. | 
|  **INFO**  | 로그에는 함수의 작동 방식에 대한 상위 수준 정보가 포함됩니다. 로그에는 ERROR 및 WARNING 메시지도 포함됩니다. | 
|  **DEBUG**  | 로그에는 함수 문제를 디버깅할 때 유용할 수 있는 정보가 포함됩니다. 로그에는 ERROR, WARNING 및 INFO 메시지도 포함됩니다. | 

다음 절차에 따라이 솔루션에 CloudWatch Logs 인사이트를 추가합니다.

1. 관련 로그 그룹을 식별합니다.

   1. [AWS CloudFormation 콘솔](https://console.aws.amazon.com/cloudformation)에 로그인합니다.

   1. 대상 스택을 선택합니다.

   1. **리소스** 탭을 선택하고 대상 Lambda 함수를 검색합니다.

   1. [AWS Lambda 콘솔](https://console.aws.amazon.com/lambda)에 로그인하고 각 대상 Lambda 함수를 선택합니다.

   1. 각 대상 Lambda 함수에 대해 **모니터링** 탭을 선택하고 ** CloudWatch Logs 보기를** 선택합니다.

   1. 인사이트를 추출하려는 로그 그룹의 이름을 복사합니다.

1. [Amazon CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch)로 이동합니다.

1. 탐색 메뉴의 **로그**에서 **Logs Insights를** 선택합니다.

1. **Logs Insights** 페이지에서 **로그** 탭을 선택합니다.

1. 1단계에서 로그 그룹 이름을 검색합니다.

1. 다음 예제 쿼리 중 하나를 복사하여 쿼리 필드에 붙여 넣습니다.

   1. 모든 클라이언트 예외를 식별하려면:

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

   1. 함수 이름별로 호출 수를 검색하려면:

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

   1. 5분 간격으로 호출 수를 검색하려면:

      ```
      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 트레이스 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
      ```