【发布时间】:2019-11-01 01:08:08
【问题描述】:
我正在尝试借助 lambda 函数从 Cloudwatch 获取我的 EC2 实例的已用磁盘空间(百分比)。它不返回任何值。
当我尝试指定文件系统和挂载路径时,它显示错误 -
参数验证失败:\nMetricDataQueries[0].MetricStat.Metric.Dimensions[0] 中的未知参数:\"Filesystem\",必须是以下之一:名称、值", "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
我希望输出为 DiskSpaceUtilization - x%。
但目前的输出是
"MetricDataResults": [
{
"Id": "d1",
"Label": "DiskSpaceUtilization",
"Timestamps": [],
"Values": [],
"StatusCode": "Complete"
}
],
【问题讨论】:
标签: python-3.x aws-lambda amazon-cloudwatch