我想获取DiskSpaceUtilization指标的数据点,但get_metrics_statitics的响应为空。
get_metrics_statitics函数适用于其他指标,即CPUUtilization、MemoryUtilization。但同样的代码不适用于DiskSpaceUtilization。
我尝试了下面的代码:
import sys
from datetime import datetime as dt, timedelta
import boto3
metricdictionary = {}
metricdictionary['DiskSpaceUtilization'] = 'System/Linux,Percent'
ec2_resource = boto3.resource("ec2")
cloudwatch = boto3.client("cloudwatch")
date = dt.today() - timedelta(days=1)
year = date.year
month = date.month
day = date.day
response = cloudwatch.get_metric_statistics(Namespace='System/Linux',
MetricName='DiskSpaceUtilization',
Dimensions=[{'Name': 'InstanceId',
'Value': 'i-0a22a230c4dae4195', }],
StartTime=dt(year, month, day, 00, 00, 00),
EndTime=dt(year, month, day, 23, 59, 59),
Period=3600,
Statistics=['Average', 'Minimum', 'Maximum'],
Unit='Percent')
print response
提前谢谢。
发布于 2018-09-06 20:05:47
我已经修改了get_metric_statistics函数,它工作得很好。对于磁盘空间利用率,我们需要添加额外的两个维度,即FileSystem和Mountpath。
response = cloudwatch.get_metric_statistics(Namespace=namesp, MetricName='DiskSpaceUtilization',
Dimensions=[
{'Name': 'InstanceId', 'Value': instance['InstanceId'], },
{'Name': 'Filesystem', 'Value': name_of_file_system},
{'Name': 'MountPath', 'Value': MountPath_for_filesystem}
],
StartTime=dt(year, month, day, 00, 00, 00),
EndTime=dt(year, month, day, 23, 59, 59),
Period=3600, Statistics=['Average', 'Minimum', 'Maximum'],
Unit='Percent')
https://stackoverflow.com/questions/51961756
复制相似问题