首页 > 解决方案 > 在 Lambda 函数中通过 boto3 获取时从 Cloudwatch 获取空数据点

问题描述

我正在使用以下代码从 cloudwatch 检索数据:

                startTime = datetime(datetime.now().year,datetime.now().month,datetime.now().day) - timedelta(days=1)
                endTime = startTime + timedelta(days=1)
            client = boto3.client('cloudwatch',region_name=tunnelDetails["Region"])
            while startTime <= endTime :
                    response = client.get_metric_statistics(
                    Namespace=tunnelDetails["Namespace"],
                    MetricName=tunnelDetails["MetricName"],
                    Dimensions=[
                        {
                            'Name': 'InstanceId',
                            'Value': tunnelDetails["InstanceId"]
                        },
                    ],
                    Period=60,
                    StartTime=startTime,
                    EndTime=startTime + timedelta(days = 1),
                    Statistics=['Average'],
                    Unit='Percent'
                    )

它以前工作过,但突然数据点以空列表的形式出现。配置文件没有变化。它用于 CPUUtilization。有人可以帮忙吗。我可以通过 AWS CLI 查看数据点。

aws cloudwatch get-metric-statistics
--namespace AWS/EC2 --metric-name CPUUtilization
--dimensions Name=InstanceId,Value="i-xxxxxxxxxxxxxxx"
--statistics Average
--start-time "2021-03-15 00: 00:00"
--end-time "2021-03-16 00:00:00"
--period 60
--region 'us-west-1'

标签: boto3amazon-cloudwatch

解决方案


推荐阅读