Amazon CloudWatch 커스텀 메트릭 : 공식 문서
PutMetricData
PutMetricData는 custom metrics(사용자의 커스텀 메트릭)을 기록할 때 사용하는 API이다.
이를 통해 애플리케이션에서 특정 성능 지표를 직접 CloudWatch로 전송하여 모니터링할 수 있다.
PutMetricData가 필요한 이유
기본적으로 AWS 서비스는 CloudWatch에 로그 기록을 자동으로 전송한다.
하지만 요건사항에 따라 AWS 서비스에서 지원하지 않는 메트릭을 사용해야 할 경우가 있을 수 있다.
이런 경우 CloudWatch Agent나 API(예: PutMetricData)를 사용해 커스텀 메트릭을 CloudWatch에 전송할 수 있다.
🤔 문제 1
개발자가 Amazon EC2 인스턴스의 여러 대에서 실행되는 멀티 스레드 애플리케이션을 작성했습니다. 운영팀은 시간에 따른 실행 중인 스레드 수를 모니터링하는 그래픽 방법을 요청했습니다. 이 요구 사항을 가장 효율적으로 충족시키는 방법은 무엇입니까?
- 주기적으로 스레드 수를 AWS X-Ray 세그먼트에 전송한 후, 필요할 때 서비스 그래프를 생성합니다.
- 사용자 정의 Amazon CloudWatch 메트릭을 생성하고 현재 스레드 수로 PutMetricData 호출을 주기적으로 수행합니다.
- 주기적으로 스레드 수 데이터를 Amazon S3에 기록하고, Amazon Kinesis를 사용하여 데이터를 처리하여 그래프를 생성합니다.
- 주기적으로 현재 스레드 수를 테이블에 Amazon DynamoDB에 기록하고, Amazon CloudFront를 사용하여 그래프를 생성합니다.
정답
정답. 2번
PutMetricData API를 사용하여 스레드 수를 주기적으로 CloudWatch로 전송하면, CloudWatch에서 그래픽으로 시각화할 수 있다. 이 방법은 효율적이고 가장 적합한 방법이다.
1번 오답
X-Ray는 주로 애플리케이션 성능 분석에 사용되며, 스레드 수 모니터링에는 적합하지 않습니다. 또한, X-Ray는 주로 요청의 흐름을 추적하고 성능 문제를 분석하는 데 유용하지만, 스레드 수를 추적하는 데 최적화되지 않음으로 이 방법은 효율적이지 않다.
3번, 4번 오답
(관련 없다)
🤔 문제 2
애플리케이션이 EC2 인스턴스에서 실행되고 있습니다. 개발자는 애플리케이션 메트릭을 Amazon CloudWatch에 저장하려고 합니다. 이 요구 사항을 구현하기 위한 최선의 방법은 무엇입니까?
- PUT Object API 호출을 사용하여 데이터를 S3 버킷에 전송합니다. 이벤트 알림을 사용하여 Lambda 함수를 호출하여 데이터를 CloudWatch에 게시합니다.
- 메트릭 데이터를 Amazon Kinesis 스트림에 PutRecord API 호출을 사용하여 게시합니다. Lambda 함수에 구독하여 데이터를 CloudWatch에 게시합니다.
- CloudWatch PutMetricData API 호출을 사용하여 CloudWatch에 사용자 정의 메트릭을 제출합니다. API 호출을 활성화하려면 필요한 자격 증명을 제공합니다.
- CloudWatch PutMetricData API 호출을 사용하여 CloudWatch에 사용자 정의 메트릭을 제출합니다. EC2 인스턴스를 시작할 때 API 호출을 활성화하는 데 필요한 IAM 역할을 설정합니다.
정답
정답. 4번