2016-03-14 3 views
1

Я разрабатываю график ресурсов, такой как пропускная способность, использование, память и процессор в подробном устройстве с использованием клиента Java java. Данные, полученные из api, отличаются от графика на портале управления.Данные о ресурсах в SoftLayer

Эти данные графа на control.softlayer.com

Date      CPU Value 
2016-03-03T10:00:00-06:00 0.67 
2016-03-03T10:30:00-06:00 0.86 
2016-03-03T11:00:00-06:00 0.84 
2016-03-03T11:30:00-06:00 1 
2016-03-03T12:00:00-06:00 0.82 

Эти данные SL API. Значение getCount() - значение ЦП. GetType(): cpu0

getCounter() : 0.26266666666667 
getDateTime() : 03 03 2016 10:00:00-0600 
dt.hashCode() : 1396398841 
**************************************** 
getType() : cpu0 
getCounter() : 0.42433333333333 
getDateTime() : 03 03 2016 10:30:00-0600 
dt.hashCode() : 1574026271 
**************************************** 
getType() : cpu0 
getCounter() : 0.591 
getDateTime() : 03 03 2016 11:00:00-0600 
dt.hashCode() : 1955972951 
**************************************** 
getType() : cpu0 
getCounter() : 0.57966666666667 
getDateTime() : 03 03 2016 11:30:00-0600 
dt.hashCode() : 357719181 
**************************************** 
getType() : cpu0 
getCounter() : 0.55033333333333 
getDateTime() : 03 03 2016 12:00:00-0600 
dt.hashCode() : 1379547114 
**************************************** 

Я использовал этот API для получения данных центрального процессора. Список dataList = Guest.service (client, deviceID) .getCpuMetricDataByDate (startDate, endDate, null);

Данные о данных памяти Список данныхList = Guest.service (client, deviceID) .getMemoryMetricDataByDate (startDate, endDate);

Данные полосы пропускания API Список данныхList = Guest.service (client, deviceID) .getBandwidthDataByDate (startDate, endDate, "public");

Эти данные также не сопоставляются с данными на графике. PLS дать мне ваши комментарии, как я могу получить точные данные.

Благодаря

ответ

0

Я recommed использовать метод http://sldn.softlayer.com/reference/services/SoftLayer_Metric_Tracking_Object/getSummaryData см ниже примере с помощью клиента Softlayer Python, чтобы получить пропускную способность. Чтобы заставить ЦП заменить переменную типов этим значением.

[ 
{ 
"keyName": "CPU0", 
"summaryType": "max" 
} 
] 

Пример:

import SoftLayer 
import pprint 


def main(): 
    hardware_id = 120065 

    start_date = "2015-10-03" 
    end_date = "2015-10-12" 

    # []SoftLayer_Container_Metric_Data_Type 
    types = [ 
     { 
      "keyName": "PUBLICIN", 
      "name": "publicIn", 
      "summaryType": "sum" 
     }, 
     { 
      "keyName": "PUBLICOUT", 
      "name": "publicOut", 
      "summaryType": "sum" 
     } 
    ] 

    client = SoftLayer.create_client_from_env() 
    hw_object = client.call('SoftLayer_Hardware_Server', 
          'getObject', 
          mask="mask[metricTrackingObjectId]", 
          id=hardware_id) 
    result = client.call('SoftLayer_Metric_Tracking_Object', 
         'getSummaryData', 
         start_date, 
         end_date, 
         types, 
         3600, 
         id=hw_object['metricTrackingObjectId']) 
    pprint.pprint(result) 


if __name__ == '__main__': 
    main() 
+0

Спасибо. Я обнаружил, что результатом использования ЦП был средний показатель за 30 минут. Но я не могу найти Java API для использования полосы пропускания. –

+0

Для пропускной способности кода, который я вам отправил, вы должны работать, просто измените период с 3600 по 1800. Если у вас все еще есть проблемы в java, дайте мне знать. –

Смежные вопросы