如何在 Application Insights 中获取 VMSS 的实例数?
Posted
技术标签:
【中文标题】如何在 Application Insights 中获取 VMSS 的实例数?【英文标题】:How to get instances count for VMSS in Application Insights? 【发布时间】:2019-01-15 06:53:35 【问题描述】:我有一个带有自动缩放规则的虚拟机规模集 (VMSS)。我可以获得主机的性能指标,但没有实例计数图表。
VMSS 设置“Scaling”->“Run history”上有一个图表,像这样。
但是我如何从 Metrics 中获取它并放置在仪表板上?
【问题讨论】:
是什么让您认为它可能?为什么应用洞察力会捕获 azure 平台数据? 好的,可能不是 Appinsight,而是 Azure Monitor。目标是将此指标放入Grafana dashboard 【参考方案1】:默认情况下,拥有 VMSS 不会向 Application Insights (AI) 发送任何内容,除非您将应用/平台(例如 Service Fabric)配置为使用 AI。
因此,如果您确实在 VMSS 上运行了向 AI 发射的软件,那么您可以编写 AI analytics query 来获取实例计数,如下所示:
requests
| summarize dcount(cloud_RoleInstance) by bin(timestamp, 1h)
通常cloud_RoleInstance
包含一个 VM 标识符,因此我在查询中使用了该标识符。它确实显示了不同的虚拟机数量。
仅当软件在 VMSS 中的所有 VM 上运行并且所有 VM 至少每小时向 AI 发送一次数据时,这才可靠。当然,您可以根据自己的喜好/要求调整脚本。
使用的运算符:dcount:统计指定字段的唯一出现次数bin:分组结果为 1 小时的时隙
【讨论】:
【参考方案2】:感谢 Peter Bons,这正是我需要的!
当我在 VM 上运行 Docker 时,我可以添加 OMS 代理容器并使用它的数据。
这就是我想要的。
ContainerInventory
| where TimeGenerated >= ago(3h)
| where Name contains "frontend"
| summarize dcount(Computer) by bin(TimeGenerated, 5m)
【讨论】:
以上是关于如何在 Application Insights 中获取 VMSS 的实例数?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Pyspark 提取 Azure Application Insights 事件?
使用Application Insights监控应用程序性能
如何注入 Application Insights 代码以监控所有方法的计时
如何使用 WCF 中多个环境的检测密钥配置 Application Insights?