You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Kusto Query实现Azure仪表板VM状态统计条形图展示

KQL 查询解决方案

核心步骤

  • 筛选Application Insights中符合目标格式的日志
  • 解析提取总VM数、运行中VM数、高计算VM数
  • 计算停止VM数(总VM数-运行中VM数)和非高计算VM数(总VM数-高计算VM数)
  • 重塑数据结构以适配Azure仪表板图表展示

完整查询代码

traces
| where message startswith "#TotalVM:"
| parse message with "#TotalVM:" TotalVM:long ",Running:" RunningVM:long ",highcompute:" HighComputeVM:long
| extend StoppedVM = TotalVM - RunningVM
| extend NonHighComputeVM = TotalVM - HighComputeVM
| project
    MetricName = dynamic(["总VM数", "运行中VM数", "停止VM数", "高计算VM数", "非高计算VM数"]),
    MetricValue = dynamic([TotalVM, RunningVM, StoppedVM, HighComputeVM, NonHighComputeVM])
| mv-expand MetricName to typeof(string), MetricValue to typeof(long)
| order by timestamp desc

关键部分解释

  • 日志筛选:where message startswith "#TotalVM:" 精准定位目标格式的日志条目,避免无关数据干扰
  • 字段解析:parse 运算符按固定字符串格式提取数值,并指定long类型保证后续计算的合法性
  • 衍生指标计算:通过简单算术运算直接得到停止VM数和非高计算VM数,无需复杂逻辑
  • 数据重塑:mv-expand 将数组展开为多行键值对,这种结构完美适配Azure仪表板的饼图、柱状图等图表的数据要求

图表配置提示

  • 若使用饼图:将MetricName设为类别字段,MetricValue设为数值字段即可展示各VM状态的占比
  • 若使用时序柱状图:保留timestamp字段,按时间维度分组,可展示各指标随时间的变化趋势

内容的提问来源于stack exchange,提问作者Gurudas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:22:34