Не удалось получить значение метрики DiskSpaceUtilization из Cloudwatch с помощью AWS Lambda - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь получить использованное дисковое пространство (проценты) для моего экземпляра EC2 из Cloudwatch с помощью лямбда-функции.Не возвращает значения.

И когда я пытаюсь указать файловую систему и путь монтирования, появляется сообщение об ошибке -

Ошибка проверки параметра: \ nНеизвестный параметр в MetricDataQueries [0] .MetricStat.Metric.Dimensions [0]: \ "Файловая система \", должно быть одним из: Имя, Значение "," 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

Iожидайте вывод как DiskSpaceUtilization - x%.

Но в настоящее время вывод равен

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

1 Ответ

0 голосов
/ 18 июня 2019

Файловая система - это отдельное измерение, измените это:

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

к этому:

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

и посмотрите, что вы получите (могут быть другие проблемы после того, как вы исправите это).

...