【发布时间】:2021-09-21 23:09:49
【问题描述】:
我似乎无法获得有关此脚本的任何内存数据,但对于 CPUUtilization,它确实可以完美运行。是的,cloudwatch 指标中有关于 mem_use_percent 指标的数据,它只是脚本返回 [] 我错过了什么吗?
CloudWatch 仪表板
自定义命名空间: CWAgent
指标名称: mem_used_percent
import boto3
import datetime
server01="i-0605c842eef1ac2ee"
STime=datetime.datetime.utcnow() - datetime.timedelta(hours=24)
ETime=datetime.datetime.utcnow()
server01_client = boto3.client('cloudwatch')
server01_res = server01_client.get_metric_statistics(
MetricName='mem_used_percent',
StartTime=STime, # These should be datetime objects
EndTime=ETime, # These should be datetime objects
Period=300,
Namespace='Custom/CWAgent',
Statistics=['Maximum'],
Dimensions=[{'Name': 'InstanceId', 'Value': server01}]
)
print("server01 ",server01_res['Datapoints'][0]['Maximum'])
输出:
Traceback (most recent call last):
File "extract_test.py", line 22, in <module>
print("server01 ",server01_res['Datapoints'][0]['Maximum'])
IndexError: list index out of range
如果您只打印 server01_res 函数,则 Datapoints[] 为空
{'Label': 'mem_used_percent', 'Datapoints': [], 'ResponseMetadata': {'RequestId': '70ff0af7-37c4-466c-99b2-c1e5fa4e5668', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '70ff0af7-37c4-466c-99b2-c1e5fa4e5668', 'content-type': 'text/xml', 'content-length': '339', 'date': 'Mon, 12 Jul 2021 20:17:59 GMT'}, 'RetryAttempts': 0}}
谢谢
【问题讨论】:
-
您可能在与控制台不同的区域或帐户中使用boto3。
-
您可以使用
list_metrics()来确认MetricName、NameSpace和Dimensions是否正确。 -
我可以确认它正在工作,因为如果我将其更改为 CPUUtilization AWS/EC2 指标,我能够提取数据,但对于 mem_use_percent 它没有数据
标签: python-3.x amazon-web-services boto3