要实时监控AWS资源,可以使用AWS提供的CloudWatch服务。以下是一个使用Python SDK(boto3)的代码示例:
import boto3
# 创建CloudWatch客户端
cloudwatch_client = boto3.client('cloudwatch')
# 定义要监控的资源信息
namespace = 'AWS/EC2' # 命名空间
metric_name = 'CPUUtilization' # 指标名称
dimensions = [{'Name': 'InstanceId', 'Value': 'i-1234567890abcdef0'}] # 资源维度
# 获取实时指标数据
response = cloudwatch_client.get_metric_statistics(
Namespace=namespace,
MetricName=metric_name,
Dimensions=dimensions,
StartTime=datetime.utcnow() - timedelta(seconds=300), # 开始时间(5分钟前)
EndTime=datetime.utcnow(), # 结束时间(当前时间)
Period=60, # 间隔时间(每分钟)
Statistics=['Average'], # 统计方式(平均值)
Unit='Percent' # 单位(百分比)
)
# 处理响应数据
if 'Datapoints' in response:
datapoints = response['Datapoints']
for datapoint in datapoints:
timestamp = datapoint['Timestamp']
value = datapoint['Average']
print(f'Timestamp: {timestamp}, Value: {value}')
else:
print('No datapoints found')
上述代码使用CloudWatch客户端的get_metric_statistics
方法来获取实时的指标数据。可以根据需要自定义监控的命名空间、指标名称、资源维度等信息。获取到的指标数据可以进一步处理和分析,例如输出到日志、发送通知等。
请注意,要使用上述代码示例,需要先安装boto3
库,并配置AWS凭证信息。