簡體   English   中英

通過 lambda python function 獲取 AWS RDS 的當前 CPU 利用率

[英]Get current CPU utilization of AWS RDS through lambda python function

我嘗試使用以下代碼通過 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)

output如下:

{'MetricDataResults': [{'Id': 'cpu', 'Label': 'CPUUtilization', 'Timestamps': [], 'Values': [], 'StatusCode': 'Complete'}]

獲取時間戳和值的空值。感謝任何幫助。

嘗試刪除 Period:30 或按照文檔中的建議將其更改為 60 的倍數:

返回數據點的粒度,以秒為單位。 對於具有常規分辨率的指標,周期可以短至一分鍾(60 秒),並且必須是 60 的倍數。對於以小於一分鍾的間隔收集的高分辨率指標,周期可以是 1、5 、10、30、60 或 60 的任何倍數。高分辨率指標是由 PutMetricData 操作存儲的指標,包括 1 秒的 StorageResolution。

字典中的值也區分大小寫,因此請檢查您是否傳遞了正確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM