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

如何通过Azure REST API获取虚拟机CPU使用率指标?

获取Azure虚拟机CPU使用率的REST API URL及使用说明

我来帮你搞定这个问题——要获取虚拟机的CPU使用率,你得用Azure Monitor的指标API,而不是你现在调用的Compute资源详情API。

正确的API URL格式

获取VM CPU指标的GET请求URL结构如下:

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=Percentage CPU&aggregation=Average&timespan=<开始时间>/<结束时间>

参数详解

  • 先把{subscriptionId}、{resourceGroupName}、{vmName}替换成你自己的实际值
  • api-version:推荐用2018-01-01,这是一个稳定且功能完善的版本,比旧版本更可靠
  • metricnames:必须指定为Percentage CPU(注意空格要保留,或者URL编码成Percentage+CPU也可以),这是Azure中对应CPU使用率的指标名称
  • aggregation:选择指标的聚合方式,常用的有:
    • Average:时间段内的平均CPU使用率
    • Maximum:时间段内的CPU峰值
    • Minimum:时间段内的CPU最低值
  • timespan:设置查询的时间范围,格式为ISO 8601标准的开始时间/结束时间,比如2024-05-20T00:00:00Z/2024-05-20T12:00:00Z就代表查询当天0点到12点的数据

额外可选参数

  • interval:指定数据的时间粒度,比如PT5M代表5分钟间隔,PT1H代表1小时间隔,默认会根据时间范围自动调整
  • 如果你想一次性获取多个指标,可以用逗号分隔metricnames的值,比如metricnames=Percentage CPU,Network In,Network Out

认证要求

和你调用Compute API一样,请求头里必须带上Authorization: Bearer <你的访问令牌>,而且这个令牌需要拥有Microsoft.Insights/metrics/read的权限,否则会返回权限不足的错误。

实际示例

假设你的订阅ID是12345678-1234-1234-1234-1234567890ab,资源组是myResourceGroup,VM名称是myVM,要查询过去24小时的每小时平均CPU使用率,最终的URL就是:

https://management.azure.com/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=Percentage CPU&aggregation=Average&timespan=2024-05-19T12:00:00Z/2024-05-20T12:00:00Z&interval=PT1H

内容的提问来源于stack exchange,提问作者Steel Edward Vazquez George

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:53:27