Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

CloudWatch 의 Log Insight 기능 사용방법과 의의 본문

AWS 및 클라우드 지식/DB 이외 AWS 서비스, 클라우드 지식

CloudWatch 의 Log Insight 기능 사용방법과 의의

`O` 2024. 8. 28. 03:06
728x90
반응형

해당 페이지에서는 AWS CloudWatch (CW) 에서 제공하는 주요 기능 중 하나인 Log Insight 기능에 대하여 다룬다.

 

이 페이지는 아래의 AWS 공식 Document 와 연관되어 있다.

 

[1] https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html

 

[2] https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-Filter.html

 

Log Insight 기능 사용의 의의

 

Log Insight 의 기능의 주요 의의 중 하나는 수치화다.

즉, Log Insight 는 단순히 Log 를 보여주는 것에서 그치지 않고 특정시간대에서 특정 형태의 Log 가 얼마나 발생했는지를 보여준다는 점에서 의미가 있다.

 

DB 관점에서 Log Insight 는 아래와 같은 상황에서 유용하게 쓰일 수 있다.

 

- 특정시간대에서 일정시간 이상 수행된 Query 발생 횟 수 (ex : slow query)

 

- 특정시간대에서 특정 Query 가 얼마나 수행 되었는지 확인

 

- 아래에 후술할 filter 를 통하여 일정하게 수행되는 Query 이외에 사용자가 특정 Query 를 수행 했는지를 확인

 

이와 같이 DB 이외에도 다른 서비스들에서 사용자가 특정 목적을 통해서 무궁무진하게 응용을 할 수 있다.

 

Log Insight 기능 사용 방법

 

Log Insight 는 CW console 의 좌측화면에서 선택하여 사용 할 수 있다.

처음 Log Insight 로 들어오면 아래의 화면을 볼 수 있다.

여기서 사용자가 화면과 같이 Log Insight 에서 화면상단에서 Log 를 확인할 Log Group 을 선택 후 아무런 입력없이 Run Query 를 사용하면 바로 결과가 나오면서 각 시간대별로 Log 가 얼마나 발생했는지를 볼 수 있다.

 

필자는 Aurora MySQL 의 general log group 을 예시로 들어 아래 화면을 확인 했다.

 

출처 : 본인 테스트 화면

 

여기서 DB 측면에서 의미 있게 볼 수 있는게 Message Column 이다. 아래와 같이 어떤 Log 가 기록되는지를 볼 수 있는데 Aurora Cluster 는 특히 AWS 서비스 관리 측면에서 AWS 가 어떤 Query 를 수행하는지 볼 수 있다.

 

출처 : 본인 테스트 화면

 

이제 여기서 filter 를 사용하면 (아래 예시는 QUERY 형태의 Log 만 추출 하도록 입력) 특정 조건을 만족하는 Log 만 추출 할 수 있다.  Filter 를 사용자가 더 세부적으로 입력하면 Log 또한 세밀하게 추출이 되고 이를 통해 위에서 제시한 응용 예시들을 모두 확인 할 수 있다.

 

출처 : 본인 테스트 화면

 

단, 이를 사용하기 위해서는 각 서비스 별로 log 들을 적재 할 수 있는 log group 이 마련되어야 한다.

예를 들어, 위의 예시 같은 경우에는 Aurora MySQL 에서 사용자가 미리 general log 를 적재하도록 옵션을 설정해야 사용 할 수 있다.

 

그렇기에 특정 서비스를 오픈하면서 이를 사용하고 싶다면 사용자가 미리 어떤 log group 을 만들거나 설정해야 할지 고려해야 한다.

반응형
Comments