개요
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