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

如何在Azure中同时查看磁盘容量与已使用磁盘空间?

在Azure中同时获取磁盘容量与剩余空间

当然可以,你可以通过关联InsightsMetrics(获取磁盘使用数据)和resources(获取磁盘容量)两个数据集,用Kusto查询一次性拿到所需信息。以下是整合后的查询:

InsightsMetrics
| where Origin == "vm.azm.ms"
  and Namespace == "LogicalDisk" 
  and Name == "FreeSpacePercentage"
| extend 
    DiskMount = tostring(todynamic(Tags)["vm.azm.ms/mountId"]),
    DiskName = tostring(todynamic(Tags)["vm.azm.ms/diskName"]),
    VMResourceId = _ResourceId
| summarize Disk_Free_Space_Pct = avg(Val) by Computer, DiskMount, DiskName, VMResourceId
| join kind=leftouter (
    resources
    | where type == "microsoft.compute/disks"
    | extend 
        DiskSize_GB = toint(properties['diskSizeGB']),
        VMResourceId = tostring(managedBy)
    | project DiskName = name, DiskSize_GB, VMResourceId
) on DiskName, VMResourceId
| project 
    Computer,
    磁盘挂载点 = DiskMount,
    磁盘名称 = DiskName,
    磁盘总容量_GB = DiskSize_GB,
    剩余空间百分比 = Disk_Free_Space_Pct,
    剩余空间_GB = round(DiskSize_GB * (Disk_Free_Space_Pct / 100), 2)

查询说明:

  • 第一部分从InsightsMetrics中提取VM上各磁盘的剩余空间百分比,同时解析出挂载点、磁盘名称和VM的资源ID。
  • 第二部分从resources中获取所有托管磁盘的容量,并通过managedBy字段关联到对应的VM资源ID。
  • 通过join将两个数据集关联,确保磁盘数据一一对应。
  • 最后计算并展示剩余空间的GB数值,字段名可根据需求自行调整。

注意事项:

  • 确保目标VM已启用Azure Monitor Agent,否则InsightsMetrics中不会生成磁盘使用数据。
  • 如果是未托管磁盘(目前较少见),resources中无法直接获取容量,需从VM的Guest OS数据中补充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:38:10