-
[ AWS ] Python boto3를 이용하여 값 CPUCreditBalance 구하기AWS Infra 2023. 2. 2. 20:07
Python boto3를 이용한 CPUCreditBalance 값 모니터링
모니터링 대상 인스턴스는 t3a.medium이며, CPUCreditBalance 테이블은 아래와 같다.
T3a 시간당 지급되는
CPU 크레딧누적 가능한 최대
지급된 크레딧*vCPU*** vCPU당
기준 사용률t3a.nano 6 144 2 5%** t3a.micro 12 288 2 10%** t3a.small 24 576 2 20%** t3a.medium 24 576 2 20%**
import boto3 from datetime import datetime from datetime import timedelta client = boto3.client('cloudwatch') def CPUCreditBalance_Ec2(isinstance_id): response = client.get_metric_statistics( Namespace='AWS/EC2', MetricName='CPUCreditBalance', Dimensions=[ { 'Name': 'InstanceId', 'Value': isinstance_id }, ], StartTime=datetime.today() - timedelta(days=1) , # 전일기준 EndTime=datetime.today(), Period=3600, # 주기 (초) Statistics=['Average'], Unit='Count') return response dct = {} for value in CPUCreditBalance_Ec2('isinstance_id')['Datapoints']: dct[value['Timestamp'] + timedelta(hours=9)] = value['Average'] # 한국시간 UTC for t, v in sorted(dct.items()): # 오래된 시간부터 정렬 print(str(t)[:16], '\t', v )
2023-02-02 05:06 576.0 2023-02-02 06:06 576.0 2023-02-02 07:06 576.0 2023-02-02 08:06 576.0 2023-02-02 09:06 576.0 2023-02-02 10:06 576.0 2023-02-02 11:06 576.0 2023-02-02 12:06 576.0 2023-02-02 13:06 576.0 2023-02-02 14:06 576.0 2023-02-02 15:06 576.0 2023-02-02 16:06 576.0 2023-02-02 17:06 576.0 2023-02-02 18:06 576.0 2023-02-02 19:06 576.0
결과값을 텔레그램과 같은 알람수단과 연동하면 모니터링이 확장될 수 있겠다.
'AWS Infra' 카테고리의 다른 글
[ AWS ] Python boto3를 이용하여 Target Group Health 모니터링 (0) 2023.04.25 [ AWS ] Python boto3를 이용하여 S3 object 스토리지 클래스 변경 (0) 2023.03.21 [ AWS ] Python boto3를 이용하여 s3 log 압축파일(gz) DataFrame 만들기 - CloudFront Logs (0) 2023.03.16 [ Python ] Python을 이용한 ElastiCache Redis Hash Data Export & Import (0) 2023.02.28 [ AWS ] Python boto3를 이용하여 EC2 CPU 사용율 구하기 (0) 2023.02.02 [ AWS ] Python Boto3를 이용한 CloudFront Invalidation (무효화) (0) 2023.01.13 [ AWS ] S3 특정 확장자 파일만 업로드 하는 버킷정책 (0) 2023.01.13 [ AWS ] Python boto3를 이용한 S3 파일 업로드 / 다운로드 (0) 2022.12.28