Amazon web services Amazon CloudWatch没有返回红移指标

Amazon web services Amazon CloudWatch没有返回红移指标,amazon-web-services,amazon-redshift,amazon-cloudwatch,Amazon Web Services,Amazon Redshift,Amazon Cloudwatch,下面是我在Python脚本中检索Redshift的PercentageDiskSpaceUsed指标的部分 我已经更改了上一篇文章中的代码。当我使用boto3编写脚本时,它不起作用。但是使用boto2编写时工作。粘贴两个脚本。请检查并更正:- 使用boto2的脚本:- 使用boto3的脚本:- 导入boto3 从datetime导入datetime,timedelta 访问密钥= 机密密钥= def设置时间范围() 返回{ “开始”:datetime.utcnow()-timedelta(秒=6

下面是我在Python脚本中检索Redshift的
PercentageDiskSpaceUsed
指标的部分

我已经更改了上一篇文章中的代码。当我使用boto3编写脚本时,它不起作用。但是使用boto2编写时工作。粘贴两个脚本。请检查并更正:-

使用boto2的脚本:- 使用boto3的脚本:-
导入boto3
从datetime导入datetime,timedelta
访问密钥=
机密密钥=
def设置时间范围()
返回{
“开始”:datetime.utcnow()-timedelta(秒=600),
“end”:datetime.utcnow()
}
时间范围=设置时间范围()
client=boto3.client('cloudwatch',aws\u access\u key\u id=access\u key,aws\u secret\u access\u key=secret\u key,region\u name='ap-south-1')
打印(client.get_metric_statistics(句点=60,开始时间=时间范围[“开始”],结束时间=时间范围[“结束”],MetricName=“PercentageDiskSpaceUsed”,Namespace=“AWS/RedShift”,statistics=[“平均”],Unit=“百分比”,维度=[{'Name':'ClusterIdentifier','Value':'test}]))

尝试使用较新的开始时间和结束时间(例如三月)或其他时间段(尝试3600)

您设置的周期为600,即10分钟。要在10分钟级别上构建响应,CloudWatch需要两个5分钟数据点,5分钟数据点仅保留63天:


您需要的是1月份的数据,这比过去63天多。

请尝试使用较新的开始时间和结束时间(例如3月份)或其他时间段(尝试3600)

您设置的周期为600,即10分钟。要在10分钟级别上构建响应,CloudWatch需要两个5分钟数据点,5分钟数据点仅保留63天:


您要的是1月份的数据,过去已经超过63天了。

您似乎还需要提供
维度

首先,通过以下途径使指标发挥作用:

(根据您的特殊需要调整群集名称和时间段。)

要查找可用的命名空间和维度值,请使用:

aws cloudwatch list-metrics --namespace 'AWS/Redshift'
然后,该代码可以工作:

import boto3

from datetime import datetime, timedelta

client = boto3.client('cloudwatch',region_name='ap-southeast-2')

client.get_metric_statistics(
    Namespace='AWS/Redshift',
    MetricName='PercentageDiskSpaceUsed',
    Dimensions=[{'Name':'NodeID','Value':'Shared'},
                {'Name':'ClusterIdentifier','Value':'lab'}
                ],
    StartTime=datetime.utcnow() - timedelta(seconds=3600),
    EndTime=datetime.utcnow(),
    Period=60,
    Statistics=['Average']
    )

您似乎还需要提供
尺寸

首先,通过以下途径使指标发挥作用:

(根据您的特殊需要调整群集名称和时间段。)

要查找可用的命名空间和维度值,请使用:

aws cloudwatch list-metrics --namespace 'AWS/Redshift'
然后,该代码可以工作:

import boto3

from datetime import datetime, timedelta

client = boto3.client('cloudwatch',region_name='ap-southeast-2')

client.get_metric_statistics(
    Namespace='AWS/Redshift',
    MetricName='PercentageDiskSpaceUsed',
    Dimensions=[{'Name':'NodeID','Value':'Shared'},
                {'Name':'ClusterIdentifier','Value':'lab'}
                ],
    StartTime=datetime.utcnow() - timedelta(seconds=3600),
    EndTime=datetime.utcnow(),
    Period=60,
    Statistics=['Average']
    )

CloudWatch管理控制台中是否显示了该时间段的指标?此外,名称空间应该是
AWS/Redshift
,而不是
Redshift
。是。我试过了。它不起作用。当我使用上面使用boto3编写的代码时,我发现了这个问题。在这个时间段内,CloudWatch管理控制台中是否出现了度量?此外,名称空间应该是
AWS/Redshift
,而不是
Redshift
。是。我试过了。它不起作用。当我使用上面用boto3编写的代码时,我发现了这个问题。尝试将开始日期设置为昨天,结束日期设置为今天。没有结果。尝试将开始日期设置为昨天,将结束日期设置为今天。没有结果。
import boto3

from datetime import datetime, timedelta

client = boto3.client('cloudwatch',region_name='ap-southeast-2')

client.get_metric_statistics(
    Namespace='AWS/Redshift',
    MetricName='PercentageDiskSpaceUsed',
    Dimensions=[{'Name':'NodeID','Value':'Shared'},
                {'Name':'ClusterIdentifier','Value':'lab'}
                ],
    StartTime=datetime.utcnow() - timedelta(seconds=3600),
    EndTime=datetime.utcnow(),
    Period=60,
    Statistics=['Average']
    )