Ver Fonte

获取cpu使用率2

tanghongbin há 4 anos atrás
pai
commit
5218afb9a3
1 ficheiros alterados com 14 adições e 7 exclusões
  1. 14 7
      Controller/AdminManage.py

+ 14 - 7
Controller/AdminManage.py

@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
 import time
+from datetime import date, timedelta, timezone as asj_timezone
 
 import boto3
 from django.db.models import Count,Q
@@ -600,28 +601,34 @@ class AdminManage(TemplateView):
 
         start_time = request_dict.get('start_time', None)
         end_time = request_dict.get('end_time', None)
+        tz = request_dict.get('tz', None)
 
-        if start_time is None or end_time is None:
+        if start_time is None or end_time is None or tz is None:
             return response.json(444)
 
         date = datetime.datetime(2020, 9, 15)
-        start_time = date.fromtimestamp(int(start_time))
+        tmp_time = 3600 * float(tz)
+        start_time = date.fromtimestamp((int(start_time)))
         end_time = date.fromtimestamp(int(end_time))
+        tz = int(tz)
 
         cloudwatch = boto3.client('cloudwatch', region_name=AWS_SES_ACCESS_REGION_WEST, aws_access_key_id=AWS_SES_ACCESS_ID,
                                   aws_secret_access_key=AWS_SES_ACCESS_SECRET)
         try:
             result = cloudwatch.get_metric_statistics(Namespace='AWS/EC2', MetricName='CPUUtilization',
-                                                    StartTime=start_time,
-                                                    EndTime=end_time, Period=60,
-                                                    Statistics=['Average'], Dimensions=[{'Name': 'InstanceId','Value': 'i-0596e00c9af077027'}])
+                                                      StartTime=start_time,
+                                                      EndTime=end_time, Period=60,
+                                                      Statistics=['Average'],
+                                                      Dimensions=[
+                                                          {'Name': 'InstanceId', 'Value': 'i-0596e00c9af077027'}])
             datas = result['Datapoints']
             datas.sort(key=getCompareKey)
             result = []
             for data in datas:
                 tmp = data
-                time = str(data['Timestamp'])
-                tmp['Timestamp'] = time[0:time.find('+')]
+                utcdt = data['Timestamp']
+                time1 = str(utcdt.astimezone(asj_timezone(timedelta(hours=int(-tz)))))
+                tmp['Timestamp'] = time1[0:time1.find('+')]
                 result.append(tmp)
             return response.json(0, result)
         except Exception as e: