如何通过Azure Monitor监控可用RAM并生成可用内存百分比图表
准确计算可用内存百分比的Kusto查询方案
在创建可用内存百分比图表时,若发现Perf表中的%Committed Bytes In Use指标未包含缓存字节,无法真实反映实际内存使用情况,可使用以下基于InsightsMetrics表的Kusto查询来获取准确结果:
InsightsMetrics | where Origin == "vm.azm.ms" | where Namespace == "Memory" and Name == "AvailableMB" | extend TotalMemory = toreal(todynamic(Tags)["vm.azm.ms/memorySizeMB"]) | extend AvailableMemoryPercentage = (toreal(Val) / TotalMemory) * 100.0 | summarize AggregatedValue = avg(AvailableMemoryPercentage) by bin(TimeGenerated, 15m), Computer, _ResourceId | order by TimeGenerated desc
查询逻辑说明:
- 从
InsightsMetrics表筛选Azure Monitor代理上报的内存指标 - 通过
Tags字段解析出虚拟机的总内存大小 - 用可用内存值除以总内存,计算出可用内存百分比
- 按15分钟时间窗口聚合平均值,同时按虚拟机和资源ID分组
- 结果按时间倒序排列,便于查看最新数据
该方案来自微软官方文档,特此分享。
内容的提问来源于stack exchange,提问作者Symon Turner
相关产品推荐
相关产品推荐

