AWS Infra

[ AWS ] Python boto3를 이용하여 EC2 CPU 사용율 구하기

Pydole 2023. 2. 2. 18:41

 

 

Python boto3를 이용하여 EC2 인스턴스의 CPU 사용율 구하기

 

import boto3
from datetime import datetime
from datetime import timedelta

client = boto3.client('cloudwatch')

def CPUUtilization_Ec2(isinstance_id):
    response = client.get_metric_statistics(
    Namespace='AWS/EC2',
    MetricName='CPUUtilization',
    Dimensions=[
        {
            'Name': 'InstanceId',
            'Value': isinstance_id
            },
        ],
    StartTime=datetime.today() - timedelta(days=1) ,
    EndTime=datetime.today(),
    Period=3600,               # 3600 = 1시간
    Statistics=['Average'],    # 평균
    Unit='Percent')

    return response

dct = {}


for value in CPUUtilization_Ec2('isinstance_id')['Datapoints']:
    dct[value['Timestamp'] + timedelta(hours=9)] = value['Average']

# timedelta(hours=9) 한국시간 변경

for t, v in sorted(dct.items()):
    print(str(t)[:16], '\t', round(float(v),1),'%')

 

2023-02-02 04:56 	 0.6 %
2023-02-02 05:56 	 0.6 %
2023-02-02 06:56 	 0.7 %
2023-02-02 07:56 	 0.6 %
2023-02-02 08:56 	 0.8 %
2023-02-02 09:56 	 0.7 %
2023-02-02 10:56 	 0.7 %
2023-02-02 11:56 	 0.9 %
2023-02-02 12:56 	 0.8 %
2023-02-02 13:56 	 0.8 %
2023-02-02 14:56 	 0.8 %
2023-02-02 15:56 	 0.8 %
2023-02-02 16:56 	 0.7 %
2023-02-02 17:56 	 0.7 %
2023-02-02 18:56 	 0.7 %