請求結構

Cloud Monitor的API是RPC風格,您可以通過發送HTTP請求調用負載平衡API。

其請求結構如下:

http://endpoint/?Action=xx&parameters

其中:

  • Endpoint是調用的雲端服務的存取點,Cloud Monitor的存取點是metrics.aliyuncs.com。各地區的服務地址,參見Cloud Monitor接入地址

  • Action是要執行的操作,如使用QueryMetricList介面查詢某一執行個體的監控資料。

  • Version要使用的API版本,Cloud Monitor的API版本是2017-03-01。

  • Parameters是請求參數,每個參數之間用 & 分隔。

    請求參數由公用請求參數和API自訂參數組成。公用參數中包含API版本號碼、身分識別驗證等資訊。

下面是一個調用QueryMetricList介面查詢某一執行個體的監控資料的樣本。

http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&Metric=cpu_idle

Cloud Monitor接入地址

地區 服務地址
華東 1 (杭州) metrics.cn-hangzhou.aliyuncs.com
華東 2 (上海) metrics.cn-shanghai.aliyuncs.com
華北 1 (青島) metrics.cn-qingdao.aliyuncs.com
華北 2 (北京) metrics.cn-beijing.aliyuncs.com
華南 1 (深圳) metrics.cn-shenzhen.aliyuncs.com
華北 3(張家口) metrics.cn-zhangjiakou.aliyuncs.com
香港 metrics.cn-hongkong.aliyuncs.com
亞太地區東南 1(新加坡) metrics.ap-southeast-1.aliyuncs.com
美國西部 1(矽谷) metrics.us-west-1.aliyuncs.com
美國東部 1(維吉尼亞) metrics.us-east-1.aliyuncs.com
歐洲中部 1(法蘭克福) metrics.eu-central-1.aliyuncs.com
亞太地區東南 2(雪梨) metrics.ap-southeast-2.aliyuncs.com
中東東部 1(杜拜) metrics.me-east-1.aliyuncs.com
亞太地區東北 1(東京) metrics.cn-hangzhou.aliyuncs.com
亞太地區東南3(吉隆坡) metrics.ap-southeast-3.aliyuncs.com
華北 5 (呼和浩特) metrics.cn-huhehaote.aliyuncs.com
亞太地區東南 5 (雅加達) metrics.ap-southeast-5.aliyuncs.com
说明 查詢亞太地區東北 1(東京)地區的監控資料時,請使用華東 1 (杭州)的服務地址。

API授權

為了確保您的帳號安全,建議您使用子帳號的身份憑證調用API。如果您使用RAM帳號調用負載平衡API,您需要為該RAM帳號建立、附加相應的授權策略。

API簽名

為保證API的安全調用,在調用API時阿里雲會對每個API請求通過簽名(Signature)進行身分識別驗證。當您手動發起API請求時,需要按照RFC 2104的定義,使用AccessSecret對編碼、排序後的整個請求串計算HMAC值作為簽名。更多詳細資料,參見RPC API簽名

RPC API要按如下格式在API請求的中增加簽名(Signature):

https://endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf

QueryMetricList為例,假設使用的AccessKey ID是 testid, AccessKey Secret是 testsecret。那麼簽名前的請求URL為:
http://metrics.aliyuncs.com/?Action=QueryMetricList&period=60&StartTime=2016-03-22T11:30:27Z&Dimensions={instanceId:'i-abcdefgh123456'}&Timestamp=2017-03-23T06:59:55Z&Project=acs_ecs_dashboard&SignatureVersion=1.0&Format=JSON&SignatureNonce=aeb03861-611f-43c6-9c07-b752fad3dc06&Version=2015-10-20&AccessKeyId=TestId&Metric=cpu_idle&SignatureMethod=HMAC-SHA1
計算得到的待簽名字串StringToSign為:
GET&%2F&AccessKeyId%3DTestId&Action%3DQueryMetricList&Dimensions%3D%257B%2522instanceId%2522%253A%2522i-abcdefgh123456%2522%257D&Format%3DJSON&Metric%3Dcpu_idle&Period%3D60&Project%3Dacs_ecs_dashboard&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3Daeb03861-611f-43c6-9c07-b752fad3dc06&SignatureVersion%3D1.0&StartTime%3D2016-03-22T11%253A30%253A27Z&Timestamp%3D2017-03-23T06%253A59%253A55Z&Version%3D2015-10-20
因為AccessKey Secret是 testsecret,所以用於計算HMAC的Key為 testsecret&,計算得到的簽名值是:
TLj49H/wqBWGJ7RK0r84SN5IDfM=

將簽名作為Signature參數加入到URL請求中,得到最後的URL為:

http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList&StartTime=2016-03-22T11%3A30%3A27Z&Period=60&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D&Timestamp=2017-03-23T06%3A59%3A55Z&Project=acs_ecs_dashboard&SignatureVersion=1.0&Format=JSON&SignatureNonce=aeb03861-611f-43c6-9c07-b752fad3dc06&Version=2015-10-20&AccessKeyId=TestId&Metric=cpu_idle&SignatureMethod=HMAC-SHA1&Signature=TLj49H%2FwqBWGJ7RK0r84SN5IDfM%3D