在仪表板上显示运行Azure VM的数量
我想在Azure门户中创建一个仪表板,显示每个资源组的活动虚拟机数量。在这种情况下,我对任何解除分配或停止的VM都不感兴趣 由于对虚拟机刀片服务器的过滤不适用于虚拟机的电源状态,因此我转向了资源图。从那时起,解决方案就接近了,但似乎还不可能根据电源状态进行过滤在仪表板上显示运行Azure VM的数量,azure,azure-dashboard,azure-resource-graph,Azure,Azure Dashboard,Azure Resource Graph,我想在Azure门户中创建一个仪表板,显示每个资源组的活动虚拟机数量。在这种情况下,我对任何解除分配或停止的VM都不感兴趣 由于对虚拟机刀片服务器的过滤不适用于虚拟机的电源状态,因此我转向了资源图。从那时起,解决方案就接近了,但似乎还不可能根据电源状态进行过滤 resources | where type == "microsoft.compute/virtualmachines" | summarize count() by resourceGroup | order by resourceG
resources
| where type == "microsoft.compute/virtualmachines"
| summarize count() by resourceGroup
| order by resourceGroup asc
是否有一种方法可以将此数据与另一个数据表组合,以便能够在电源状态下进行筛选,并仅获取正在运行的虚拟机?或者可能是一种完全不同的解决方案,只在仪表板上显示正在运行的VM的数量?似乎没有一个表在资源图架构中保存VM的电源状态,至少我找不到它 既然您已经说过,您也希望听到完全不同的方法,我想建议使用PowerShell路线 您可以使用下面的命令获取VM的PowerState
Get-AzVM -Status
您可以将此输出写入Azure表存储。此链接详细介绍了如何使用PowerShell与Azure存储帐户交互[
您可以在此表的顶部构建Power BI报告,仅针对PowerState==正在运行的存储过滤,并点亮您的报告
现在要安排这个,您需要
a创建自动化帐户。有关如何创建自动化帐户的详细信息,请参见此处[
b创建一个PowerShell runbook,获取VM状态并将行插入表存储
创建一个时间表并将runbook链接到它。
有关如何安排日程的详细信息,请参见此处[
因此,使用Azure Automation帐户和Runbook point b,您可以设置一个时间表并将Runbook与该时间表链接。每当Runbook执行时,它都会获取当前的powerstatus并按照时间表将其上载到Azure表存储,这将使PowerBI保持更新
希望这有帮助在资源图架构中似乎没有一个表保存VM的PowerState,至少我找不到它 既然您已经说过,您也希望听到完全不同的方法,我想建议使用PowerShell路线 您可以使用下面的命令获取VM的PowerState
Get-AzVM -Status
您可以将此输出写入Azure表存储。此链接包含如何使用PowerShell与Azure存储帐户交互的详细信息[
您可以在此表的顶部构建Power BI报告,仅针对PowerState==正在运行的存储过滤,并点亮您的报告
现在要安排这个,您需要
a创建自动化帐户。有关如何创建自动化帐户的详细信息,请参见此处[
b创建一个PowerShell runbook,获取VM状态并将行插入表存储
创建一个时间表并将runbook链接到它。
有关如何安排日程的详细信息,请参见此处[
因此,使用Azure Automation帐户和Runbook point b,您可以设置一个时间表并将Runbook与该时间表链接。每当Runbook执行时,它都会获取当前的powerstatus并按照时间表将其上载到Azure表存储,这将使PowerBI保持更新
希望这有帮助希望下面的例子对你有用
resources
| where type == "microsoft.compute/virtualmachines"
| where properties.extended.instanceView.powerState.displayStatus=="VM running"
| summarize count() by resourceGroup
| order by resourceGroup asc
干杯,希望下面的例子对你有用
resources
| where type == "microsoft.compute/virtualmachines"
| where properties.extended.instanceView.powerState.displayStatus=="VM running"
| summarize count() by resourceGroup
| order by resourceGroup asc
干杯,太好了,谢谢你的建议!因为这提供了实际问题的答案,我将把它标记为答案。@Guru Pasupathy的另一个建议也是很好的,但不会为我的用例提供答案。太好了,谢谢你的建议!因为这提供了实际问题的答案,我将标记它@Guru Pasupathy的另一个建议也是很好的,但不会为我的用例提供答案。