這是預期的行爲的價值觀念是不完全一樣的,這是因爲門戶使用另一種方法來獲取價值,如果你想獲得相同的值,你需要使用同樣的方法。
查看這些相關的論壇。
您需要使用方法:http://sldn.softlayer.com/reference/services/SoftLayer_Metric_Tracking_Object/getSummaryData
方法的返回值是用於創建控制門戶圖表。
我在Python做這個代碼
#!/usr/bin/env python3
import SoftLayer
# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'
vsId = 24340313
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
vgService = client['SoftLayer_Virtual_Guest']
mtoService = client['SoftLayer_Metric_Tracking_Object']
try:
idTrack = vgService.getMetricTrackingObjectId(id = vsId)
object_template = [{
'keyName': 'PUBLICIN',
'summaryType': 'sum'
}]
counters = mtoService.getSummaryData('2016-09-04T00:00:00-05:00','2016-09-26T23:59:59-05:00',object_template,600, id = idTrack)
totalIn = 0
for counter in counters:
totalIn = totalIn + counter["counter"]
object_template = [{
'keyName': 'PUBLICOUT',
'summaryType': 'sum'
}]
counters = mtoService.getSummaryData('2016-09-04T00:00:00-05:00','2016-09-26T23:59:59-05:00',object_template,600, id = idTrack)
totalOut = 0
for counter in counters:
totalOut = totalOut + counter["counter"]
print("The total INBOUND in GB: ")
print(totalIn/1000/1000/1000)
print("The total OUTBOUND in MB: ")
print(totalOut/1000/1000)
print("The total GB")
print((totalOut + totalIn)/1000/1000/1000)
except SoftLayer.SoftLayerAPIError as e:
print("Unable get the bandwidth. "
% (e.faultCode, e.faultString))
問候
什麼是 '反' 屬性的單位?字節?或者位?如果我將'summaryPeriod'設置爲86400秒,那麼我得到一個包含'counter'的SoftLayer_Metric_Tracking_Object_Data數組。如果我想得到9月份使用的總帶寬,我是否計算所有'counter'屬性?什麼是計算規則?至於〜 –
單位是字節,要獲得MB,您必須使用此:result/1000/1000.請注意,我使用的是1000而不是1024.此外,您需要將summaryPeriod從86400更改爲600,否則您將得到不同的結果。 –
您需要獲取PUBLICIN和PUBLICOUT的數據(在keyName屬性中設置值)。然後總結他們的結果,你將得到總數 –