有没有办法在 Azure 的特定订阅中查看已用磁盘 space 和 VM 的实际磁盘大小?

Is there a way see used disk space with the actual disk size of the VMs in a specific subscription in azure?

我正在尝试 运行 Azure 中的查询以显示特定订阅下 Azure 中每个 VM 的可用磁盘 space 或已用磁盘 space,我想显示结果是 VM 的实际磁盘大小。我需要数据来识别过度分配的资源并缩减它以最小化成本。 有人可以帮我修改查询以便在除可用磁盘 space 之外的另一列中显示 VM 的实际磁盘大小吗?还是有其他方法可以获取我需要的磁盘数据?

这是我 运行 从 Azure 在 Monitor>Logs>Query

下的查询
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

并且只显示 3 列计算机名称、磁盘、Disk_Free_Space

请检查以下几点是否可以提供想法。

  1. 根据Expand virtual hard disks - Azure VM's | Microsoft Docs

When you create a new virtual machine (VM) in a resource group by deploying an image from Azure Marketplace, the default operating system (OS) drive is often 127 GB (some images have smaller OS disk sizes by default). Even though it's possible to add data disks to the VM (the number depends on the SKU you chose)

  1. 尝试汇总已用内存并释放 space 以获得总内存并尝试从中获取名为 total disk space 或 memory 的列。

  2. 希望这个reference计算总内存可能会给出一个想法。

  3. 另请参阅 Azure Resource Graph sample queries ,其中查询查找虚拟机规模集资源并获取各种详细信息,包括虚拟机大小和规模集的容量。

  4. Azure VM RAM 和 CPU 大小取决于为 VM 选择的硬件配置文件。在此示例中,我们将检索 VM (TestMachine2k16) 硬件配置文件,然后我们可以找到分配给它的 RAM 或 CPU。

  5. 要获取 Size of the Azure VM,请尝试使用 powershell。

     $azvm = Get-AzVM -VMName 'VMname'
    $azvm.HardwareProfile.VmSize
    

我们可以在 Microsoft Azure 网站上查看上面的输出大小,以了解有多少 RAM 和 CPU 与之关联,以及使用 PowerShell 的另一种方法,即使用 Get-AZVmSize 命令。

$vmsize = $azvm.HardwareProfile.VmSize Get-AzVMSize -VMName $azvm.Name -ResourceGroupName $azvm.ResourceGroupName | where{$_.Name -eq $vmsize}

  1. 我们可以监控 VM 内存使用性能:转到您的 VM -> 监控 -> Insight
  2. 设置警报并在达到阈值时收到通知 - 然后您可以通过创建日志警报规则来完成。 w.r.t它的更多信息,请参考this文档。

参考文献:

  1. 有没有API免费查询Azure VMdisk/memoryspace? - (starwindsoftware.com)
  2. Resizing the Disk for Azure VM | StarWind Blog (starwindsoftware.com)
  3. help to set up azure alert for disk space alert when 10gb or less - Microsoft Q&A