CloudWatch Logs 적용
CloudWatch Logs를 사용하여 애플리케이션 및 사용자 지정 로그 파일을 모니터링, 저장 및 액세스할 수 있다.
이전 게시글에서 요청 ID를 남기고 분산 서비스로 전파를 했기 때문에 하나의 요청을 추적할 수 있다.

CloudWatch의 Logs Insights 화면이다.
검색하고 싶은 애플리케이션의 로그 그룹들을 선택하고 로그 데이터 쿼리를 수행한다.
요청 아이디로 검색을 해서 여러 서비스에 걸친 요청의 흐름을 추적할 수 있다.
CloudWatch 경보 생성
운영중인 서비스에서 치명적인 오류가 발생하는 경우, 빠른 대응이 중요하다. 이를 위해서 에러가 발생하는 경우 알람을 받을 수 있도록 설정한다. CloudWatch의 로그에서 에러 로그가 찍히는 경우 미리 설정해둔 이메일이나 슬랙으로 에러가 발생했다는 알림을 받을 수 있다.

CloudWatch의 로그 그룹을 선택하여 지표 필터를 생성한다.

알람을 받고 싶은 로그의 패턴을 생성 후 패턴 테스트를 진행하여 기대하는 결과가 나오는지 확인한다.
다음 단계에서 지표의 이름을 설정하고 지표 생성을 완료한다.

생성한 지표 필터를 체크하고 경보 생성 버튼을 클릭한다.

1단계 - 조건을 설정한다. 나는 분당 1개 이상일 경우로 설정 했다.

2단계 - 알림을 받을 대상을 선택한다.
이후단계에서 이름을 설정하고 경보 생성을 완료한다.
이렇게 경보를 생성해두면 이메일이나 슬랙으로 온 알림의 링크에 접속하여 관련 로그를 보고 문제를 해결할 수 있다.
알림 발생 기준을 어떻게 설정하는게 좋을지가 고민이 될 수 있는데, 나는 해당 블로그를 통해 도움을 얻을 수 있었다.
- INFO: 기존대비 +-50%이상 차이날 경우 알람
- WARN: 분당 20개이상일 경우 알람
- ERROR: 분당 5개이상일 경우 알람
하지만, 우리 서비스의 경우 알림을 처음 도입했고 어떤 에러가 발생하는지 바로 파악하고 싶어서 우선 분당 1개 이상일 경우 알람을 받을 수 있도록 설정했고, 또 아직 로그의 레벨 구분이 잘 안되어 있어 상태 코드 500의 응답이 있을 경우를 조건으로 설정했다.
해당 조건은 차차 상황에 맞게 개선할 생각이다.
'DevOps' 카테고리의 다른 글
| Docker를 이용하여 EC2에 Node 서버 배포하기 (1) (0) | 2026.04.28 |
|---|---|
| CloudWatch Logs와 Slack 통합: 에러 메시지 실시간 전송 설정 (0) | 2024.12.25 |
| Nest 프로젝트에 Pinpoint 적용 (0) | 2024.12.05 |
| 로그 남기기 (0) | 2024.01.21 |
| Github Action 배포 자동화 (0) | 2024.01.07 |