사용자 지정 지표 게시
AWS CLI 또는 API를 사용하여 CloudWatch에 자체 지표를 게시할 수 있습니다. AWS Management Console을 사용하여 게시된 지표의 통계 그래프를 볼 수 있습니다.
CloudWatch는 지표에 관한 데이터를 일련의 데이터 요소로 저장합니다. 각 데이터 요소에는 연결된 시간스탬프가 있습니다. 통계 세트라는 집계된 데이터 요소 세트를 게시할 수도 있습니다.
고분해능 지표
각 지표는 다음 중 하나입니다.
표준 분해능 - 1분 세분화 데이터
고분해능 - 1초 세분화 데이터
AWS 서비스에 의해 생성되는 지표는 기본적으로 표준 분해능입니다. 사용자 지정 지표를 게시할 때는 지표를 표준 분해능 또는 고분해능으로 정의할 수 있습니다. 고분해능 지표를 게시할 경우 CloudWatch는 이 지표를 1초 분해능으로 저장합니다. 그러면 사용자는 1초, 5초, 10초, 30초 또는 60초의 배수 기간으로 지표를 읽고 검색할 수 있습니다.
고분해능 지표는 애플리케이션의 단기(1분 미만) 활동을 보다 즉각적으로 관찰할 수 있게 해줍니다. 사용자 지정 지표에 대해 PutMetricData
를 호출할 때마다 요금이 부과되며, 따라서 고분해능 지표에 대해 PutMetricData
를 자주 호출할수록 요금이 증가할 수 있다는 점에 유의하십시오. CloudWatch 요금에 대한 자세한 내용은 Amazon CloudWatch 요금
고분해능 지표에 대해 경보를 설정할 경우 고분해능 경보를 10초 또는 30초 기간으로 지정하거나 60초의 배수 기간으로 정기 경보를 설정할 수 있습니다. 10초 또는 30초 기간의 고분해능 경보는 요금이 더 비쌉니다.
측정기준 사용
사용자 지정 지표에서 --dimensions
파라미터는 공통입니다. 측정기준은 지표가 무엇이고 어떤 데이터가 저장되었는지 훨씬 명확하게 보여줍니다. 지표 하나에 측정기준을 최대 10개까지 가질 수 있으며, 각 측정기준은 이름-값 페어로 정의됩니다.
서로 다른 명령을 사용하면 측정기준을 지정하는 방법도 달라집니다. put-metric-data에서는 각 측정기준을 MyName
=MyValue
로 지정하고, get-metric-statistics 또는 put-metric-alarm에서는 Name=
MyName
, Value=
MyValue
형식을 사용합니다. 예를 들어, 다음 명령은 이름이 Buffers
및 InstanceId
인 두 측정기준으로 InstanceType
지표를 게시합니다.
aws cloudwatch put-metric-data --metric-name Buffers --namespace MyNameSpace --unit Bytes --value 231434333 --dimensions InstanceId=1-23456789,InstanceType=m1.small
이 명령은 동일한 지표에 대한 통계를 검색합니다. 단일 측정기준의 Name 및 Value 부분은 쉼표로 구분하지만, 측정기준이 여러 개인 경우에는 하나의 측정기준과 그 다음 측정기준 사이에 공백을 둡니다.
aws cloudwatch get-metric-statistics --metric-name Buffers --namespace MyNameSpace --dimensions Name=InstanceId,Value=1-23456789 Name=InstanceType,Value=m1.small --start-time 2016-10-15T04:00:00Z --end-time 2016-10-19T07:00:00Z --statistics Average --period 60
단일 지표에 여러 개의 측정기준이 포함된 경우에는 get-metric-statistics를 사용할 때 정의된 모든 측정기준에 대해 값을 지정해야 합니다. 예를 들어 Amazon S3 지표 BucketSizeBytes
에는 BucketName
및 StorageType
측정기준이 포함되어 있으므로 get-metric-statistics를 사용하여 두 측정기준을 모두 지정해야 합니다.
aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --start-time 2017-01-23T14:23:00Z --end-time 2017-01-26T19:30:00Z --period 3600 --namespace AWS/S3 --statistics Maximum --dimensions Name=BucketName,Value=
MyBucketName
Name=StorageType,Value=StandardStorage --output table
지표에 정의되는 측정기준을 확인하려면 list-metrics 명령을 사용합니다.
단일 데이터 요소 게시
신규 또는 기존 지표에서 단일 데이터 요소를 게시하려면 하나의 값과 타임스탬프와 함께 put-metric-data 명령을 사용하십시오. 예를 들어, 다음 각 작업은 데이터 요소 하나를 게시합니다.
aws cloudwatch put-metric-data --metric-name
PageViewCount
--namespaceMyService
--value 2 --timestamp2016-10-20T12:00:00.000Z
aws cloudwatch put-metric-data --metric-namePageViewCount
--namespaceMyService
--value 4 --timestamp2016-10-20T12:00:01.000Z
aws cloudwatch put-metric-data --metric-namePageViewCount
--namespaceMyService
--value 5 --timestamp2016-10-20T12:00:02.000Z
새 지표 이름으로 이 명령을 호출하면 CloudWatch가 지표를 생성합니다. 그러지 않으면 CloudWatch는 지정된 기존의 지표에 데이터를 연결합니다.
지표를 작성할 때 get-metric-statistics 명령을 사용하여 새 지표에 대한 통계를 검색할 수 있기까지 최대 2분이 소요될 수 있습니다. 그러나 list-metrics 명령을 사용하여 검색된 지표 목록에 새 지표가 나타나려면 최대 15분이 걸릴 수 있습니다.
타임스탬프가 1000분의 1초만큼 세분화된 데이터 요소를 게시할 수 있지만, CloudWatch는 1초의 최소 단위로 데이터를 집계합니다. CloudWatch는 각 기간 동안 수신된 값의 평균(모든 항목의 합계를 항목 수로 나눈 값)은 물론 동일한 기간의 샘플 수, 최댓값, 최솟값을 기록합니다. 예를 들어 이전 예의 PageViewCount
지표에는 타임스탬프가 몇 초 간격인 데이터 요소 3개가 들어 있습니다. 기간을 1분으로 설정한 경우 이러한 데이터 요소 모두에 1분 기간 내의 타임스탬프가 있기 때문에 CloudWatch는 3개의 데이터 요소를 집계합니다.
get-metric-statistics 명령을 사용하여 게시된 데이터 요소에 따라 통계를 검색할 수 있습니다.
aws cloudwatch get-metric-statistics --namespace
MyService
--metric-namePageViewCount
\ --statistics "Sum" "Maximum" "Minimum" "Average" "SampleCount" \ --start-time2016-10-20T12:00:00.000Z
--end-time2016-10-20T12:05:00.000Z
--period 60
다음은 출력의 예입니다.
{ "Datapoints": [ { "SampleCount": 3.0, "Timestamp": "2016-10-20T12:00:00Z", "Average": 3.6666666666666665, "Maximum": 5.0, "Minimum": 2.0, "Sum": 11.0, "Unit": "None" } ], "Label": "PageViewCount" }
통계 집합 게시
CloudWatch에 게시하기 전에 데이터를 집계할 수 있습니다. 분당 여러 데이터 요소가 있는 경우 데이터를 집계하면 put-metric-data에 대한 호출 수가 최소화됩니다. 예를 들어, 서로 3초 내에 있는 데이터 요소 3개에 대해 put-metric-data를 여러 번 호출하는 대신 --statistic-values
파라미터를 사용하여 호출 한 번으로 게시한 통계 세트로 데이터를 집계할 수 있습니다.
aws cloudwatch put-metric-data --metric-name PageViewCount --namespace
MyService
--statistic-values Sum=11,Minimum=2,Maximum=5,SampleCount=3 --timestamp2016-10-14T12:00:00.000Z
CloudWatch가 백분위수를 계산하려면 원시 데이터 요소가 필요합니다. 대신 통계 세트를 사용해 데이터를 게시하면 아래 조건 중 하나를 충족하기 전까지 이 데이터에 대한 백분위수 통계를 검색할 수 없습니다.
통계 세트의
SampleCount
는 1입니다.통계 세트의
Minimum
및Maximum
이 동일합니다.
0 값 게시
데이터가 훨씬 산발적이고 연결된 데이터가 없는 기간이 있으면 해당 기간에 대해 0 값(0
)을 게시하거나 값을 전혀 게시하지 않도록 선택할 수 있습니다. PutMetricData
에 대한 정기적인 호출을 통해 애플리케이션의 상태를 모니터링하는 경우 값을 게시하지 않는 대신 0을 게시하려고 할 수 있습니다. 예를 들어 애플리케이션에서 지표를 게시하는 데 실패한 경우 5분마다 이를 알리도록 CloudWatch 경보를 설정할 수 있습니다. 애플리케이션에서 연결된 데이터가 없는 기간에 대해 0을 게시하도록 하려고 합니다.
또한 데이터 요소의 총 수를 추적하거나 최소값 또는 평균과 같은 통계에 값이 0인 데이터 요소를 포함하려는 경우 0을 게시할 수도 있습니다.