【发布时间】:2017-01-30 20:23:58
【问题描述】:
我正在创建一个脚本,用于使用 SoftLayer API 监控我们的虚拟服务器。
我可以通过获取每个虚拟服务器的blockDevice 和关联的diskImage 来获取当前磁盘空间,指定为here,但是如何获取每个块设备上的已用/可用空间,所以我可以计算可用空间的百分比吗?
这是我目前获取数据的方式:
$server = SoapClient::getClient("SoftLayer_Virtual_Guest", $id, $username, $apikey);
$server->setObjectMask("mask[maxCpu,maxCpuUnits,maxMemory,statusId,status[keyName],bandwidthAllocation,billingCycleBandwidthUsage[amountOut,type],metricTrackingObjectId,billingItem[recurringMonths,nextInvoiceTotalRecurringAmount],datacenter[name,longName],blockDevices[statusId,status[keyName],diskImage[capacity,typeId,type[keyName],units]]]");
$server_data = $server->getObject();
问题在于各种块设备只保存对磁盘映像的引用,而磁盘映像又具有capacity 字段,但似乎没有链接到实际使用的空间。
【问题讨论】: