无法通过Azure HTTP GET API采集VM网卡指标,请求排查方案
修正Azure VM网卡带宽指标采集请求的方案
核心问题定位
你的请求目标是VM资源,但网卡的出入带宽指标属于**Network Interface(网络接口)**资源,而非VM本身,这是返回空结果的主要原因。
修正后的请求格式
需要将资源路径切换到VM对应的网卡资源,同时调整参数确保获取实时数据:
https://management.azure.com/subscriptions/{{subscription}}/resourceGroups/{{RG}}/providers/Microsoft.Network/networkInterfaces/{{nicName}}/providers/Microsoft.Insights/metrics?api-version=2023-10-01&interval=PT1M&metricnames=NetworkOutTotal,NetworkInTotal&aggregation=average&metricnamespace=Microsoft.Network/networkInterfaces×pan=PT5M
关键参数说明
- 资源路径:替换为
Microsoft.Network/networkInterfaces/{{nicName}},可在Azure控制台的VM「网络」标签下找到对应网卡名称 - 指标名称:使用
NetworkOutTotal和NetworkInTotal(无空格,符合Azure指标命名规范),分别对应出、入带宽 - 聚合方式:实时展示推荐用
average(平均值),比maximum更贴合带宽的实时波动趋势 - 时间范围(timespan):新增
timespan=PT5M指定最近5分钟的数据,避免返回无数据的历史时段
额外验证与备选方案
- 确认网卡诊断设置已启用:在Azure控制台的网卡资源「诊断设置」中,检查是否勾选了
NetworkInTotal和NetworkOutTotal指标 - 若需采集VM所有网卡的总带宽,可保留VM级路径,改用VM级指标名称(带空格):
https://management.azure.com/subscriptions/{{subscription}}/resourceGroups/{{RG}}/providers/Microsoft.Compute/virtualMachines/{{vmName}}/providers/Microsoft.Insights/metrics?api-version=2023-10-01&interval=PT1M&metricnames=Network%20Out,Network%20In&aggregation=average&metricnamespace=Microsoft.Compute/virtualMachines×pan=PT5M
内容的提问来源于stack exchange,提问作者smartstadium
相关产品推荐
相关产品推荐

