如何查找Azure中使用的磁盘大小和磁盘空间

zqry0prt  于 2023-06-07  发布在  其他
关注(0)|答案(2)|浏览(433)

有没有一种方法可以同时获得Azure中的磁盘大小和磁盘空间使用情况?
我可以使用像这样的查询,并获得使用的百分比或MB

InsightsMetrics
| where Origin == "vm.azm.ms"
 and Namespace == "LogicalDisk" and Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize Disk_Free_Space = avg(Val) by Computer, Disk, _ResourceId
| project Computer, Disk, Disk_Free_Space

看到这样的磁盘大小

resources
| where type == "microsoft.compute/disks"
| project properties['diskSizeGB']

但是,有没有一种方法可以同时看到磁盘的大小和剩余的空间?

ddarikpa

ddarikpa1#

此查询将为您提供一个近似的磁盘大小,虽然它永远不会是100%准确的,但非常接近

InsightsMetrics
| where Origin == "vm.azm.ms"
 and Namespace == "LogicalDisk" 
 | where Name in ("FreeSpaceMB", "FreeSpacePercentage")
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize arg_max(TimeGenerated, Val) by Computer, Name, Disk, _ResourceId
| extend Packed = bag_pack(Name, Val) 
| project TimeGenerated, Computer, Disk, _ResourceId, Packed
| summarize Packed = make_bag(Packed) by TimeGenerated, Computer, Disk, _ResourceId
| evaluate bag_unpack(Packed) : (TimeGenerated:datetime , Computer:string, Disk:string, _ResourceId:string, FreeSpaceMB:long, FreeSpacePercentage:decimal)
| extend DiskSizeGB = ceiling((todecimal(FreeSpaceMB) / (FreeSpacePercentage / todecimal(100))) /1024)

另一种计算方法是使用两个原始查询并使用Azure工作簿查询日志分析和Azure资源图,然后合并结果https://learn.microsoft.com/en-us/azure/azure-monitor/visualize/workbooks-data-sources#merge

aiazj4mn

aiazj4mn2#

但是,有没有一种方法可以同时看到磁盘的大小和剩余的空间?
您可以使用下面的Kusto Query Language来检索磁盘大小和已用磁盘空间,并为每个磁盘释放空间。

KQL查询:

Perf | where ObjectName == "LogicalDisk" and CounterName == "Free Megabytes" 
| summarize TotalDiskSpace_GB = (max(CounterValue) + sum(CounterValue)/1024), UsedDiskSpace_GB = (sum(CounterValue)/1024),Freespace_GB = ((max(CounterValue) + sum(CounterValue))-sum(CounterValue)/1024) by Computer, InstanceName

输出:

相关问题