AWS

[AWS cli] SQS - Cloudwatch 지표 통계 확인

비번변경 2022. 10. 20. 23:39

개요

2022.10.19 - [aws cli] cloudwatch 지표 통계 확인에서 기본적인 get-metric-statistics API의 사용 방법을 정리했다.

이 글에서는 AWS Cli를 이용해 SQS의 Cloudwatch 모니터링 지표를 수집해보려고 한다.

 

 

네임스페이스

SQS 지표는 AWS/SQS 네임스페이스에 포함되어 있다.

 

 

지표 정보

각 지표는 다음과 같은 이름, Unit, Statistics를 가진다.

지표 이름 설명
ApproximateAgeOfOldestMessage 대기열에서 가장 오래된 비삭제 메시지의 대략적인 사용 기간.
Unit : Seconds
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
ApproximateNumberOfMessagesDelayed 지연되어 즉시 읽을 수 없는 대기열의 메시지 수.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
ApproximateNumberOfMessagesNotVisible 이동 중인 메시지의 수.
클라이언트에게 전송되었으나 아직 삭제되지 않았거나 가시성 창 말단에 이르지 않은 경우.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
ApproximateNumberOfMessagesVisible 대기열에서 가져올 수 있는 메시지의 수.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
NumberOfEmptyReceives 메시지를 반환하지 않은 ReceiveMessage API 호출의 수.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
NumberOfMessagesDeleted 대기열에서 삭제된 메시지의 개수.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
NumberOfMessagesReceived ReceiveMessage 작업에 대한 호출로 반환된 메시지의 수.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
NumberOfMessagesSent 대기열에 추가된 메시지의 수.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount
SentMessageSize 대기열에 추가된 메시지의 크기.
최소 한 개의 메시지가 해당 대기열로 전송되어야 지표 사용이 가능하다.
Unit : Count
유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount

 

 

Demensions

SQS 지표 차원은 QueueName만 제공된다.

즉, 사용 가능한 모든 통계가 QueueName(대기열 이름)으로 필터링된다.

 

 

예시 - ApproximateAgeOfOldestMessage

예시로 SQS의 가장 오래된 비 삭제 메시지의 대략적인 수명을 나타내는 ApproximateAgeOfOldestMessage 지표 데이터를 확인해보려고 한다.

5분 동안 1분 간격의 데이터를 확인하는 예시는 아래와 같다.

 

aws cloudwatch get-metric-statistics \
    --namespace AWS/SQS \
    --metric-name ApproximateAgeOfOldestMessage \
    --dimensions Name=QueueName,Value=test_queue \
    --start-time 2022-09-28T05:55:00Z \
    --end-time 2022-09-28T06:00:00Z \
    --period 60 \
    --statistics Maximum \
    --unit Seconds
   
    
# 결과
{
    "Label": "ApproximateAgeOfOldestMessage",
    "Datapoints": [
        {
            "Timestamp": "2022-09-28T05:56:00Z",
            "Maximum": 59.0,
            "Unit": "Seconds"
        },
        {
            "Timestamp": "2022-09-28T05:57:00Z",
            "Maximum": 95.0,
            "Unit": "Seconds"
        },
        {
            "Timestamp": "2022-09-28T05:58:00Z",
            "Maximum": 0.0,
            "Unit": "Seconds"
        },
        {
            "Timestamp": "2022-09-28T05:55:00Z",
            "Maximum": 0.0,
            "Unit": "Seconds"
        },
        {
            "Timestamp": "2022-09-28T05:59:00Z",
            "Maximum": 0.0,
            "Unit": "Seconds"
        }
    ]
}

 

 

참고 문서

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/appinsights-metrics-sqs.html

https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html