如何使用Python从cloudwatch获得指标?

时间:2018-10-10 14:52:27

标签: python amazon-web-services aws-lambda amazon-cloudwatch

我正在尝试从使用Python的AWS Cloudwatch获取一些自定义指标,但是遇到了一些问题。这是代码:

import boto3
from datetime import datetime
client = boto3.client('cloudwatch', region_name='us-east-1')


response = client.get_metric_data(
   MetricDataQueries=[
        {
            'Id': 'lambda',
            'MetricStat': {
                'Metric': {
                    'Namespace': 'metrics.tcc',
                    'MetricName': 'responseTime',
                    'Dimensions': [
                        {
                            'Name': 'target',
                            'Value': 'target'
                        },
                        {
                            'Name': 'interval',
                            'Value': 'interval'
                        },
                        {
                            'Name': 'requestId',
                            'Value': 'coldstarts',
                        },
                        {
                            'Name': 'isColdStart',
                            'Value': 'isColdStart'
                        },
                    ]
                },
                'Period': 60,
                'Stat': 'Maximum',
                'Unit': 'Milliseconds'
            },
        },
    ],

    StartTime = datetime(2018, 10, 8),
    EndTime = datetime(2018, 10, 9)
)

print(response)

在响应中,我得到了包含以下元素的JSON:

[('ResponseMetadata', {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': '2217d5b3...', 'HTTPHeaders': {'x-amzn-requestid': '2217d5b3...', 'date': 'Wed, 10 Oct 2018 14:31:10 GMT', 'content-length': '483', 'content-type': 'text/xml'}}), (u'MetricDataResults', [{u'Timestamps': [], u'StatusCode': 'Complete', u'Values': [], u'Id': 'lambda', u'Label': 'responseTime'}])]

我做错了什么?感谢您的帮助,我已经尝试了很多更改,但没有用。

1 个答案:

答案 0 :(得分:0)

空数据表示:  *您请求的时间范围内没有数据  *数据在您请求的时间段内不可用(在这种情况下为1分钟)  *所提供的名称空间/名称/维度不存在该指标。

您是否已验证以上所有内容正确?