我正在使用getMemoryMetricDataByDate分析Softlayer虚拟客户端上过去三个月的内存使用情况。示例guest虚拟机上的规范是maxCpu = 2,maxMemory = 8192 MB。
据报道,内存使用率为maxMemory的89%到100%。这对于此服务器似乎不正确。示例数据点是:
[counter] => 8127187622.8697
[dateTime] => 2016-05-04T18:00:00-06:00
[type] => memory_usage
在183个数据点的集合中,最小计数器值为7652222531.7333(字节),最大值为8589934592(字节)。
要进行交叉检查,我使用getMemoryMetricImageByDate将图形图像拉出相同的日期范围。见下文。该图表显示两行。第一个内存平均值为1.6 GB,最大值为11.1 GB。第二行显示内存平均值为5.3 GB,最大值为220.1 GB。
我的问题是:
为什么图表上有两行?
为什么getMemoryMetricDataByDate和getMemoryMetricImageByDate之间的数据有显着差异,因为为每次调用指定了完全相同的虚拟访客和日期范围?
答案 0 :(得分:1)
我建议您使用控制门户使用的方法来获取使用数据。
它使用这种方法: http://sldn.softlayer.com/reference/services/SoftLayer_Metric_Tracking_Object/getSummaryData
使用获取的数据,门户创建图像。所以尝试一下它应该包含更准确的数据。
RESTful example:
POST https://api.softlayer.com/rest/v3.1/SoftLayer_Metric_Tracking_Object/$MetircOBjectID/getSummaryData
body:
{
"parameters": [
"2016-08-04 00:00:00 America/Chicago",
"2016-08-05 23:59:59 America/Chicago", [{
"keyName": "MEMORY_USAGE",
"summaryType": "max"
}],
600
]
}
注意:替换$ MetircOBjectID
为了获取虚拟访客的关联MetircOBjectID,请使用此RESTFul
GET https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/$VirtualGuestId/getMetricTrackingObjectId
注意:替换$ VirtualGuestId
此致