Amazon web services Amazon CloudWatch没有返回红移指标
下面是我在Python脚本中检索Redshift的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
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']
)