Python Boto3:来自AWS实例的空数据点
我想写一个Python脚本来获取我的EC2 CPU利用率。使用get_metric_statistics()方法时,输出响应如下所示 据我所知,“Datapoints:[]”数组不应该为空。它应该返回一些东西以获得CPU负载%。我的代码是Python Boto3:来自AWS实例的空数据点,python,amazon-web-services,amazon-ec2,boto3,amazon-cloudwatch,Python,Amazon Web Services,Amazon Ec2,Boto3,Amazon Cloudwatch,我想写一个Python脚本来获取我的EC2 CPU利用率。使用get_metric_statistics()方法时,输出响应如下所示 据我所知,“Datapoints:[]”数组不应该为空。它应该返回一些东西以获得CPU负载%。我的代码是 import boto3 import sys import datetime client = boto3.client('cloudwatch') response = client.get_metric_statistics( Namespa
import boto3
import sys
import datetime
client = boto3.client('cloudwatch')
response = client.get_metric_statistics(
Namespace='AWS/EC2',
MetricName='CPUUtilization',
Dimensions=[
{
'Name': 'InstanceId',
'Value': 'i-***********'
},
],
StartTime=datetime.datetime.utcnow() - datetime.timedelta(seconds=600),
EndTime=datetime.datetime.utcnow(),
Period=120,
Statistics=[
'Average',
],
Unit='Percent'
)
print(response)
这里有什么问题吗?谢谢 要使用百分位数统计信息,必须首先启用详细监控
默认情况下,它采用默认区域,即“ap-Southwest-1”(位于.aws/config中)。在.aws/credentials文件中,它自动获取配置api时使用的密钥和访问密钥如果它们冲突,则数据点返回空。 解决方案: 1.为每个区域创建新的配置文件。在.aws/config中配置区域。我的看起来像这样
`[default]
region = ap-southeast-1
[profile nv]
region = us-east-1
[profile prod]
region = us-east-1
~ `
nv和prod是用户自定义的ProfileName
session=bot3.session(profile\u name='default')
您可以使用
aws configure--your_profile_name
在配置和凭证文件中创建配置文件谢谢,但我没有启用它!