AWS

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

비번변경 2022. 10. 22. 17:05

개요

2022.10.20 - [AWS cli] SQS - Cloudwatch 지표 통계 확인에 이어 S3의 모니터링 지표를 수집해보려고 한다. 여러 지표 중에서 버킷에 대한 일별 스토리지 지표인 버킷 용량과 객체 수를 수집해보려고 한다.

 

 

네임스페이스

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

 

 

버킷에 대한 일별 스토리지 지표 정보

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

지표 이름 설명
BucketSizeBytes 버킷 내 스토리지 클래스에 저장된 데이터의 양.
불완전 멀티파트 업로드 부분과 메타데이터 크기까지 포함하여 계산된다.

스토리지 유형 : 아래 StorageType Demension 참조. NumberOfObjects와 달리 AllStorageTypes로 모든 스토리지클래스를 지정할 수 없다. 
Unit : Bytes
유효한 Statistics : Average
NumberOfObjects 버킷 내 모든 스토리지 클래스에 저장된 총 객체 수.
불완전 멀티파트 업로드의 총 파트수까지 포함하여 계산된다.

스토리지 유형 : AllStorageTypes
Unit : Count
유효한 Statistics : Average

 

 

Demensions

S3 지표는 버킷 이름과 스토리지 클래스 유형 별로 필터링할 수 있다.

차원 설명
BucketName 지정한 버킷에 대한 데이터로 필터링한다.
StorageType 버킷 내 스토리지클래스 유형 별로 데이터를 필터링한다.

StandardStorage, 
IntelligentTieringFAStorage, IntelligentTieringIAStorage, IntelligentTieringAAStorage, IntelligentTieringAIAStorage, IntelligentTieringDAAStorage, 
StandardIAStorage, StandardIASizeOverhead, StandardIAObjectOverhead, 
OneZoneIAStorage, OneZoneIASizeOverhead, 
ReducedRedundancyStorage, 
GlacierInstantRetrievalSizeOverhead, GlacierInstantRetrievalStorage, GlacierStorage, GlacierStagingStorage, GlacierObjectOverhead, GlacierS3ObjectOverhead, 
DeepArchiveStorage, DeepArchiveObjectOverhead, DeepArchiveS3ObjectOverhead, DeepArchiveStagingStorage

 

 

예시 - BucketSizeBytes

 

예시로 버킷의 StandardStorage Class의 용량을 확인해보려고 한다. period는 하루에 해당하는 86400 초로 했다.

aws cloudwatch get-metric-statistics \
    --namespace AWS/S3 \
    --metric-name BucketSizeBytes \
    --start-time 2022-09-28T00:00:00Z \
    --end-time 2022-09-29T07:00:00Z \
    --statistics Average \
    --unit Bytes \
    --dimensions Name=BucketName,Value=test-bucket Name=StorageType,Value=StandardStorage \
    --period 86400 
    
    
# 실행 결과
{
    "Label": "BucketSizeBytes",
    "Datapoints": [
        {
            "Timestamp": "2022-09-28T00:00:00Z",
            "Average": 77949459120.0,
            "Unit": "Bytes"
        },
        {
            "Timestamp": "2022-09-29T00:00:00Z",
            "Average": 75196172061.0,
            "Unit": "Bytes"
        }
    ]
}

 

예시 - NumberOfObjects

이번 예시는 객체의 수를 확인한다.

aws cloudwatch get-metric-statistics \
	--namespace AWS/S3 \
	--metric-name NumberOfObjects \
	--start-time 2022-09-28T00:00:00Z \
	--end-time 2022-09-29T00:00:00Z \
	--statistics Average \
	--dimensions Name=BucketName,Value=test-bucket Name=StorageType,Value=AllStorageTypes \
	--period 86400 
    
    
# 실행 결과
{
    "Label": "NumberOfObjects",
    "Datapoints": [
        {
            "Timestamp": "2022-09-28T00:00:00Z",
            "Average": 287007.0,
            "Unit": "Count"
        }
    ]
}

 

 

 

참고 문서

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

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/metrics-dimensions.html