You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VMware vCloud API单次请求获取VDC全部VM CPU使用量?

单次请求获取VDC实际CPU使用量的vCloud API方案

1. 批量VM指标查询(推荐)

使用POST /api/query接口一次性拉取目标VDC下所有VM的cpu.usagemhz.average指标,无需逐个调用VM的metrics接口:
请求体(XML格式):

<QueryList xmlns="http://www.vmware.com/vcloud/v1.5">
  <QueryRecordType>vm</QueryRecordType>
  <Filter>container==urn:vcloud:vdc:YOUR_VDC_URN</Filter>
  <Fields>cpu.usagemhz.average,name</Fields>
</QueryList>

替换YOUR_VDC_URN为你的VDC唯一标识(可通过GET /api/orgVdc/{vdc-id}接口获取)。该请求会返回VDC内所有VM的实时CPU使用MHz值,你只需在本地求和即可。

2. 修正OrgVdc指标调用

之前用OrgVdcRollupType返回0,大概率是未明确指定具体指标或参数错误。在vCloud Director 9.1+版本中,调用:

GET /api/orgVdc/{vdc-id}/metrics?metrics=cpu.usagemhz.average&rollupType=CURRENT

确保请求参数中明确指定cpu.usagemhz.average,而非泛用的CPU指标。同时检查账号是否拥有ViewMetrics权限,无权限会导致返回空值或0。

关键注意事项

  • 批量查询的请求次数远低于逐个调用VM接口,能有效规避API限额问题。
  • 若需实时数据,rollupType=CURRENT是最优选择;若允许一定延迟,可选择HOUR/DAY等粒度减少请求频率。

内容的提问来源于stack exchange,提问作者Matthew Knill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 01:06:18