CloudWatch
조회수 595 등록일 2016.06.21 23:53:18

1. 개요

CloudWatch 가 제공하는 Metric과 무료, 유료에 지원하는 Metric 또는 차이를 정리한다. 

CloudWatch는 Basic Monitoring(무료), Detailed Monitoring(유료) 로 구분하여 모니터링을 제공하고 있다. Basic과 Detailed의 차이는 모니터링의 주기가 5분, 1분이라는 것과 Detailed에서 AMI ID 및 인스턴스 유형별로 데이터를 집계 할 수 있다는 점 외 Metric의 차이는 없다.

단, 인스턴스 유형에 따라 모니터랑 하는 Metric이 추가된다.


2. Metric

1) EC2

Metric
Metric Name (API)
Description
Units

CPU Credit Usage
CPUCreditUsage
소비한 CPU Credit 수
t2 인스턴스만 제공
Basic, Detailed 상관없이 5분 단위로 제공
Count

CPU Credit Balance
CPUCreditBalance
인스턴스 별 Credit 잔여수
t2 인스턴스만 제공
Basic, Detailed 상관없이 5분 단위로 제공

Count

CPU Utilization
CPUUtilization
CPU 사용률
Percent

Disk Reads Bytes
DiskReadBytes
인스턴스의 모든 볼륨에서 읽은 Bytes 수
Bytes

Disk Read Operations
DiskReadOps
인스턴스의 모든 볼륨 읽기 작업 완료 수
Count

Disk Writes Bytes
DiskWriteBytes
인스턴스에 사용할 수 있는 모든 인스턴스 스토어 볼륨에서 쓴 바이트 수.
Bytes

Disk Write Operations  
DiskWriteOps
인스턴스에의 모든 볼륨 쓰기 작업 완료 수
Count

Network In
NetworkIn
모든 네트워크 인터페이스에서 받은 수
인스턴스별 어플리케이션으로 들어오는 
네트워크 트래픽을 식별
Bytes

Network Out
NetworkOut
모든 네트워크 인터페이스에서 보낸 수
인스턴스별 어플리케이션으로 내보내는 네트워크 트래픽을 식별
Bytes

Network Packets In
NetworkPacketsIn
모든 네트워크 인터페이스에서 받은 패킷 수
Bytes

Network Packets Out
NetworkPacketsOut
모든 네트워크 인터페이스에서 보낸 패킷 수
Bytes

Status Check Failed (Any) 
StatusCheckFailed
StatusCheckFailed_Instance 와 
StatusCheckFailed_System 에 대한상태 여부
0 또는 1               
0 확인
1 실패

Status Check Failed (Instance) 
StatusCheckFailed_Instance 
인스턴스 상태 확인
0 또는 1
0 확인
1 실패

Status Check Failed (System) 
StatusCheckFailed_System
시스템 상태 확인
0 또는 1
0 확인
1 실패

* CPU credit :  t2 인스턴스는 유형별로 workload에 따라 기본 CPU 성능을 Bursting 한다. credit 하나는 1분동안 100%의 사용률로 실행되는 vCPU 하나이며 지급된 credit을 모두 소모하면 성능 저하가 발생한다.


2) EBS

Metric
Description
Units

VolumeTotalReadTime
VolumeTotalWriteTime
모든 작업에서 볼륨을 사용한 총 시간
Seconds            

VolumeThroughputPercentag
Amazon EBS 볼륨에 대해 프로비저닝된 총 IOPS 중 전송된 IOPS의 비율입니다.
Provisioned IOPS SSD 볼륨에만 제공
Percent

VolumeReadOps
VolumeWriteOps
I/O 작업 수
Count

VolumeReadBytes
VolumeWriteBytes
I/O 작업에 대한 정보 제공
Sum : 전송된 총 Byte 수
Average : I/O 작업의 평균 크기
SampleCount : 총 I/O 작업 수
Bytes

VolumeQueueLength
완료 대기 중인 읽기 및 쓰기 작업 요청 수
Count

VolumeIdleTime
읽기 또는 쓰기 작업이 없던 총 시간
Seconds

VolumeConsumedReadWriteOps    
소비한 총 읽기 및 쓰기 작업량
Provisioned IOPS SSD 볼륨에만 제공

Count

BurstBalance
burst bucket에서 사용할 수 있는 balance에 관한 정보
Throughput Optimized HDD, Cold HDD 제공
Percent

*IOPS : 초당 I/O 작업 수


3) ELB

 Metric
Description
Units
SurgeQueueLength
로드 밸런서에서 인스턴스로 전달되지 못하고 큐에 남아있는 요청의 개수    
Count         
RequestCount
요청 수
Count
Latency
로드 밸런서와 인스턴스 간의 지연시간(초)
Seconds
HTTPCode_ELB_5XX
로드밸런스에서 리턴받은HTTP Error Code 수
Count
HTTPCode_Backend_2XX    
HTTPCode_Backend_3XX
HTTPCode_Backend_4XX
 HTTPCode_Backend_5XX
인스턴스에서 리턴받은 HTTP Response Code입니다
Count
HealthyHostCount
UnHealthyHostCount
헬스 체크
정상, 비정상 인스턴스 수
Count


3. API

1) javascript

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html

listMetric - 매트릭의 종류를 가져 온다.

getMetricStatistics - 지정 metric의 값을 가져 옵니다.

 

2) python

https://boto3.readthedocs.io/en/latest/reference/services/cloudwatch.html

list_metrics() - 매트릭의 종류를 가져 온다.

get_metric_statistics() - 지정 metric의 값을 가져 옵니다.