DB & AWS Knowledge
CloudWatch 의 Log Insight 기능 사용방법과 의의 본문
해당 페이지에서는 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 을 만들거나 설정해야 할지 고려해야 한다.
'AWS 및 클라우드 지식 > DB 이외 AWS 서비스, 클라우드 지식' 카테고리의 다른 글
구입한 Reserved Instance (RI) 에 대한 취소 과정 (0) | 2024.08.27 |
---|---|
CloudWatch 를 통해 Custom Metric 만들기 (0) | 2024.08.23 |
클라우드 서비스 이용과 환율의 관계 (0) | 2024.08.17 |
AWS CLI 를 통해 S3 관련 작업을 할 시 명령어, 자주 사용되는 옵션들 (0) | 2024.08.13 |
AWS 서비스를 사용시 알아 두면 좋은 비용과 관련된 개념들 (0) | 2024.08.02 |