在仪表板上显示 运行 Azure VM 的数量
Display number of running Azure VM's on a dashboard
我想在 Azure 门户中创建一个仪表板,显示每个资源组的活动虚拟机数量。在这种情况下,我对任何已解除分配或已停止的虚拟机不感兴趣。
由于过滤虚拟机 blade 对虚拟机的电源状态不起作用,我求助于资源图。从那里解决方案接近,但似乎无法过滤电源状态(目前)。
resources
| where type == "microsoft.compute/virtualmachines"
| summarize count() by resourceGroup
| order by resourceGroup asc
有没有办法将此数据与另一个数据 table 结合起来,以便能够过滤电源状态并仅获取 运行 个虚拟机?或者也许完全不同的解决方案只是在仪表板上显示 运行 虚拟机的数量?
在 Resource Graph 模式中似乎没有 table 保存 VM 的 PowerState(至少我找不到)
既然你说过你也想听听完全不同的方法,我想推荐 PowerShell 路线
您可以使用以下命令获取虚拟机的 PowerState
Get-AzVM -Status
您可以将此输出写入 Azure table 存储。 (此 link 详细介绍了如何使用 PowerShell 与 Azure 存储帐户进行交互 [https://docs.microsoft.com/en-us/azure/storage/tables/table-storage-how-to-use-powershell]
您可以在此 table 存储过滤之上构建一个 Power BI 报告,仅用于 PowerState == 运行 并点亮您的报告。
现在要安排这个,您需要
a) 创建一个自动化帐户。有关如何创建自动化帐户的详细信息,请参见此处 [https://docs.microsoft.com/en-us/azure/automation/automation-create-standalone-account]
b) 创建一个 PowerShell 运行手册,获取 VM 状态并将行插入 table 存储
c) 创建计划并link 运行手册。
有关如何安排的详细信息,请参见此处 [https://docs.microsoft.com/en-us/azure/automation/shared-resources/schedules]
因此,使用 Azure 自动化帐户和 Runbook(b 点),您可以设置一个时间表,link Runbook 与该时间表。每当 runbook 执行时,它都会获取当前的 powerstatus 并根据计划将其上传到 Azure Table 存储,这将使 PowerBI 保持更新。
希望对您有所帮助
希望下面的示例对您有用
resources
| where type == "microsoft.compute/virtualmachines"
| where properties.extended.instanceView.powerState.displayStatus=="VM running"
| summarize count() by resourceGroup
| order by resourceGroup asc
干杯,
我想在 Azure 门户中创建一个仪表板,显示每个资源组的活动虚拟机数量。在这种情况下,我对任何已解除分配或已停止的虚拟机不感兴趣。
由于过滤虚拟机 blade 对虚拟机的电源状态不起作用,我求助于资源图。从那里解决方案接近,但似乎无法过滤电源状态(目前)。
resources
| where type == "microsoft.compute/virtualmachines"
| summarize count() by resourceGroup
| order by resourceGroup asc
有没有办法将此数据与另一个数据 table 结合起来,以便能够过滤电源状态并仅获取 运行 个虚拟机?或者也许完全不同的解决方案只是在仪表板上显示 运行 虚拟机的数量?
在 Resource Graph 模式中似乎没有 table 保存 VM 的 PowerState(至少我找不到)
既然你说过你也想听听完全不同的方法,我想推荐 PowerShell 路线
您可以使用以下命令获取虚拟机的 PowerState
Get-AzVM -Status
您可以将此输出写入 Azure table 存储。 (此 link 详细介绍了如何使用 PowerShell 与 Azure 存储帐户进行交互 [https://docs.microsoft.com/en-us/azure/storage/tables/table-storage-how-to-use-powershell]
您可以在此 table 存储过滤之上构建一个 Power BI 报告,仅用于 PowerState == 运行 并点亮您的报告。
现在要安排这个,您需要
a) 创建一个自动化帐户。有关如何创建自动化帐户的详细信息,请参见此处 [https://docs.microsoft.com/en-us/azure/automation/automation-create-standalone-account]
b) 创建一个 PowerShell 运行手册,获取 VM 状态并将行插入 table 存储
c) 创建计划并link 运行手册。 有关如何安排的详细信息,请参见此处 [https://docs.microsoft.com/en-us/azure/automation/shared-resources/schedules]
因此,使用 Azure 自动化帐户和 Runbook(b 点),您可以设置一个时间表,link Runbook 与该时间表。每当 runbook 执行时,它都会获取当前的 powerstatus 并根据计划将其上传到 Azure Table 存储,这将使 PowerBI 保持更新。
希望对您有所帮助
希望下面的示例对您有用
resources
| where type == "microsoft.compute/virtualmachines"
| where properties.extended.instanceView.powerState.displayStatus=="VM running"
| summarize count() by resourceGroup
| order by resourceGroup asc
干杯,