无法使用AWS Lambda从Cloudwatch获取DiskSpaceUtilization指标的值

时间:2019-06-18 11:36:21

标签: python-3.x aws-lambda amazon-cloudwatch

我试图借助lambda函数从Cloudwatch中获取EC2实例的“已用磁盘空间”(百分比)。它不返回任何值。

当我尝试指定文件系统和Mountpath时,显示错误-

  

参数验证失败:\ n MetricDataQueries [0] .MetricStat.Metric.Dimensions [0]中的未知参数:\“ Filesystem \”,必须为以下之一: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

我希望输出为DiskSpaceUtilization-x%。

但是当前输出是

  "MetricDataResults": [
    {
      "Id": "d1",
      "Label": "DiskSpaceUtilization",
      "Timestamps": [],
      "Values": [],
      "StatusCode": "Complete"
    }
  ],

1 个答案:

答案 0 :(得分:0)

文件系统是一个单独的维度,请对此进行更改:

'Dimensions': [
    {
        'Name': 'InstanceId',
        'Value': '*****************',
        'Filesystem': '/****/****'
    },
]

对此:

'Dimensions': [
    {
        'Name': 'InstanceId',
        'Value': '*****************'
    },
    {
        'Name': 'Filesystem',
        'Value': '/****/****'
    }
]

然后看看您能得到什么(修复此问题后可能还会有其他问题)。