안녕하세요 맥썸입니다.
오늘의 포스팅은 AWS Cloudwatch Synthetics Canary 를 소개하겠습니다.
Synthetics Canary 는 AWS의 웹 모니터링 기능을 제공하고 있으며 페이지에서 메트릭과 실패, 성공 확률을 파악할 수 있도록 출력됩니다.
사이트를 모니터링 해주며 지연된 URL 체크와 AWS 서비스인 SNS를 연동하여 한계 초과 시 알람을 받도록 경보를 설정 가능하여, 즉각적으로 모니터링 대응의 이점이 있습니다.
로직은 Canary 스크립트를 진행 시, Lambda 함수를 사용하여 호출 후 실행되어 결과를 출력합니다.
(Canary 생성 시, Lambda function 이 생성되어 별도의 비용이 청구 될 수 있습니다.)
리뷰를 하기 위해 blueprint - heartbeat를 이용하였습니다.
Blueprint 유형
- Heartbeat Monitor : 지정된 URL 로드, 페이지의 스크린샷과 HAR 파일 저장, 액세스한 URL의 로그 저장
- API Canary : REST API의 기본 읽기 및 쓰기 기능을 테스트 가능
- Broken Link Checker : 테스트 중인 URL 내의 모든 링크를 수집
- Visual Monitoring : 카나리아 실행 중에 찍은 스크린샷과 기준 카나리아 실행 중에 찍은 스크린샷을 비교하여 확인
- Canary Recorder : 웹 사이트에서 클릭 및 입력 작업을 기록하고 동일한 단계를 따르는 카나리아를 생성하는 데 사용할 수 있는 Node.js 스크립트를 자동으로 생성
- GUI Workflow : 웹 페이지에서 작업을 수행할 수 있는지 확인
해당 URL 의 Passed/Failed와 HTTP Status Code, Duration 을 확인 할 수 있으며
Metric을 통하여 모니터링이 가능합니다.
저는 스크립트 실행을 한번 구동하였습니다.
시각적으로 확인이 가능한 Synthetics Canary는 Canary 실행 당 0.0019 USD 비용이 발생함으로 한달 기준 1분에 한번씩 호출 시 약 10만원의 비용이 발생합니다. 모니터링 툴 치고는 비쌉니다.
생성 후 100건 까지는 무료입니다.
해당 데이터는 S3 bucket에 저장 할 수 있으며 저장되는 데이터는 ScreenShot, Log, 호출 결과 (JSON 형식의 파일, HAR 파일)이 적재 됩니다.
* 이점
- 디테일하게 확인 가능
- Passed/Failed 관련 여부를 벗어나, canary가 실행될때마다 ScreenShot을 찍어 시각적으로 확인이 가능합니다.
- 지표를 통해 응답시간, http status code, 실패와 성공 확률 파악 가능
- 로그 데이터 보존 기간 설정 가능
- 한계 초과 시 알람을 받도록 경보 설정 가능 (SNS 연동)
- Failed 결과 일 경우 X-Ray 연동을 통한 해당 페이지의 어떤 항목에 문제가 발생했는지 확인 가능
* 확인 해야 될 항목
- 별도의 비용 발생
: 로그 데이터의 적재 공간 S3 bucket 사용 시
: X-Ray 연동 시
: SNS 연동 시
다음 포스팅은 오픈소스 모니터링 Grafana와 비교하는 글을 가져오겠습니다.감사합니다.
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
AWS - Athena (2) (0) | 2022.12.16 |
---|---|
AWS - Athena (1) (0) | 2022.12.16 |
[AWS] CLI 설치 and 업데이트 - 리눅스 환경 (0) | 2022.12.13 |
API Gateway 실전 사용 (HTTP API) (0) | 2022.12.12 |
AWS Trusted Advisor (0) | 2022.12.12 |
댓글