先建立阿里雲帳號;html
購買一臺低配置的阿里雲ECS服務器;python
還能夠查看ECS雲監控的監控指標數據;json
阿里云爲了保證每個主帳戶的安全性,設置了一個RAM的訪問控制,阿里雲官方鼓勵用戶 使用RAM受權子帳戶,且爲子帳戶建立 AccessKey ID 和 AccessKeySecret,在阿里雲提供 的SDK中,必須使用AccessKey ID 和 AccessKeySecret才能經過API訪問到雲產品;安全
首先登陸RAM,建立子帳戶,且爲子帳戶生成AccessKey ID
和 AccessKeySecret ,https://ram.console.aliyun.com/overview;服務器
建立一個新的子帳戶 阿里雲
給這個子帳戶建立一個AccessKey ID 和 AccessKeySecret 命令行
而後給這個新的子帳戶添加權限,能夠訪問阿里雲監控; code
確認已經安裝了python,而後使用pip命令行安裝兩個依賴orm
pip install aliyun-python-sdk-core pip install aliyun-python-sdk-cms
from aliyunsdkcore import client from aliyunsdkcms.request.v20180308 import QueryMetricListRequest import time from datetime import datetime, timedelta import json from pprint import pprint # 返回最近三分鐘的時間戳, 毫秒單位,必須是整數類型 def get_start_timestamp(): start_datetime = datetime.now() - timedelta(minutes=3) start_timestamp = int(start_datetime.timestamp()*1000) return start_timestamp # 初始化客戶端,填寫ak, secret, region_id clt = client.AcsClient('LTAIxdvbuz2MD74Z','I2b7O1UJmkjfgHVC4i7Atb8gGXwAbU','cn-shenzhen') # 初始化請求對象 request = QueryMetricListRequest.QueryMetricListRequest() # 設置響應類型 request.set_accept_format('json') # 設置項目 request.set_Project('acs_ecs_dashboard') # 設置獲取的指標的key, 這裏是CPU的使用率 request.set_Metric('CPUUtilization') # 獲取3分鐘之前的時間戳 start_time = get_start_timestamp() # 設置起始時間 request.set_StartTime(start_time) # 設置結束時間 request.set_EndTime(int(datetime.now().timestamp() * 1000)) # 設置實例ID request.set_Dimensions("{'instanceId':'i-wz98bynewgl7gu3jqqb3'}") # 添加異常打印 result = clt.do_action_with_exception(request) # 反序列化 result = json.loads(result) # 打印結果 pprint(result)
from aliyunsdkcore import client from aliyunsdkcms.request.v20180308 import QueryMetricListRequest import time from datetime import datetime, timedelta import json from pprint import pprint def get_start_timestamp(): start_datetime = datetime.now() - timedelta(minutes=3) start_timestamp = int(start_datetime.timestamp()*1000) return start_timestamp clt = client.AcsClient('LTAIxdvbuz2MD74Z','I2b7O1UJmkjfgHVC4i7Atb8gGXwAbU','cn-shenzhen') request = QueryMetricListRequest.QueryMetricListRequest() request.set_accept_format('json') request.set_Project('acs_ecs_dashboard') # 設置獲取的指標的key, 這裏是CPU的使用率 request.set_Metric('DiskReadIOPS') start_time = get_start_timestamp() request.set_StartTime(start_time) request.set_EndTime(int(datetime.now().timestamp() * 1000)) request.set_Dimensions("{'instanceId':'i-wz98bynewgl7gu3jqqb3'}") result = clt.do_action_with_exception(request) result = json.loads(result) pprint(result)
(1)首先須要從aliyunsdkcore
模塊中導入client
,從aliyunsdkcms.request.v20180308
中導 入QueryMetricListRequest類
,再根據需求導入其餘模塊;htm
(2)而後使用client.AcsClient()
方法初始化客戶端;
(3)使用QueryMetricListRequest
類中的QueryMetricListRequest()
方法初始化請求對象;
(4)使用set_accept_format()
設置響應類型,set_Project()
方法設置項目,set_Metric()
方法 設置獲取的指標的key,set_StartTime()
設置起始時間,set_EndTime()
方法設置終止時間, set_Dimensions()
方法設置實例的ID,do_action_with_exception()
方法添加異常打印等;