如何在 Application Insights 中获取 VMSS 的实例数?

How to get instances count for VMSS in Application Insights?

我有一个带有自动缩放规则的虚拟机规模集 (VMSS)。我可以获得主机的性能指标,但没有实例计数图表。

有一个关于 VMSS 设置的图表 "Scaling" -> "Run history",像这样。

但是如何从 Metrics 中获取它并将其放置在仪表板上?

默认情况下,拥有 VMSS 不会向 Application Insights (AI) 发送任何信息,除非您将应用程序/平台(例如 Service Fabric)配置为使用 AI。

所以,如果你 在 VMSS 上有软件 运行 发射到 AI 那么你可以写一个 AI analytics query 来获得实例计数这个:

requests
| summarize dcount(cloud_RoleInstance) by bin(timestamp, 1h) 

通常 cloud_RoleInstance 包含一个 VM 标识符,这就是我在查询中使用的标识符。它确实显示了 VM 的不同计数。

只有当软件在 VMSS 中的所有 VM 上运行并且所有 VM 至少每小时向 AI 发送一次数据时,这才可靠。当然,您可以根据自己的喜好/要求调整脚本。

使用的运算符:
dcount:统计指定字段的唯一出现次数
bin:小组结果在 1 小时

谢谢 Peter Bons,这正是我需要的!

因为我在 VM 上 运行 Docker 我可以添加 OMS 代理容器并使用它的数据。

这就是我想要的。 ContainerInventory | where TimeGenerated >= ago(3h) | where Name contains "frontend" | summarize dcount(Computer) by bin(TimeGenerated, 5m)