我尝试在lambda函数的帮助下从Cloudwatch获取EC2示例的已用磁盘空间(百分比)。它没有返回任何值。
当我尝试指定文件夹和挂载路径时,它显示错误-
参数验证失败:\n MetricDataTable [0]中的未知参数。MetricStat.Metric.Dimensions[0]:\“Filesource",必须为以下值之一:Name,Value”,“errorType”:“ParamValidationError”
这里是完整的代码。
import boto3
import datetime
def lambda_handler(event, context):
client = boto3.client('cloudwatch')
response = client.get_metric_data(
MetricDataQueries=[
{
'Id': 'd1',
'MetricStat': {
'Metric': {
'Namespace': 'cloudwatch',
'MetricName': 'DiskSpaceUtilization',
'Dimensions': [
{
'Name': 'InstanceId',
'Value': '*****************',
'Filesystem': '/****/****'
},
]
},
'Period': 300,
'Stat': 'Maximum',
'Unit': 'Percent'
},
'ReturnData': True
},
],
StartTime=datetime.datetime.utcnow() - datetime.timedelta(seconds=600),
EndTime=datetime.datetime.utcnow(),
ScanBy='TimestampDescending',
MaxDatapoints=60
)
return response
字符串
我希望输出为“空间利用率- x%”。
但目前的产量是
"MetricDataResults": [
{
"Id": "d1",
"Label": "DiskSpaceUtilization",
"Timestamps": [],
"Values": [],
"StatusCode": "Complete"
}
],
型
1条答案
按热度按时间xghobddn1#
文件夹是一个单独的维度,请更改此设置:
字符串
对此:
型
然后看看你得到了什么(在你修复这个问题后可能会有其他问题)。