我尝试使用以下代码通过lambda python获取AWS RDS的当前cpu利用率。但得到的是空值:
代码:
import json
import boto3,datetime
def lambda_handler(event, context):
cloudwatch = boto3.client('cloudwatch')
response = cloudwatch.get_metric_data(
MetricDataQueries=[
{
'Id': 'cpu',
'MetricStat': {
'Metric': {
'Namespace': 'AWS/RDS',
'MetricName': 'CPUUtilization',
'Dimensions': [
{
"Name": "DBInstanceIdentifier",
"Value": "mydb"
}]
},
'Period': 30,
'Stat': 'Average',
}
}
],
StartTime=(datetime.datetime.now() - datetime.timedelta(seconds=300)).timestamp(),
EndTime=datetime.datetime.now().timestamp()
)
print(response)
输出如下所示:
{'MetricDataResults': [{'Id': 'cpu', 'Label': 'CPUUtilization', 'Timestamps': [], 'Values': [], 'StatusCode': 'Complete'}]
获取时间戳和值的空值。感谢您的帮助
请尝试删除句点:30或将其更改为文档中建议的60的倍数:
此外,字典中的值区分大小写,因此请检查是否传递了正确的值
相关问题 更多 >
编程相关推荐