如何编写Kusto查询实现WVD主机池近8小时每3分钟粒度的会话数统计
WVD主机池会话数3分钟粒度统计Kusto查询方案
最终可运行查询
WVDAgentHealthStatus // 过滤最近8小时的数据 | where TimeGenerated > ago(8h) // 按3分钟粒度对齐时间窗口 | extend TimeWindow = bin(TimeGenerated, 3m) // 按时间窗口+主机名分组,取每个分组内最新的一条上报数据去重 | summarize arg_max(TimeGenerated, ActiveSessions, InactiveSessions) by TimeWindow, SessionHostName // 计算总会话数 | extend TotalSessions = toint(ActiveSessions) + toint(InactiveSessions) // 可选:直接渲染时间图表,按主机拆分系列 | render timechart with (series=SessionHostName, ytitle=总会话数, xtitle=时间)
逻辑说明
- 时间范围调整:将原查询的
ago(3m)替换为ago(8h),匹配你需要的最近8小时统计范围 - 时间粒度对齐:用
bin()函数把所有上报日志的时间戳对齐到3分钟的整数倍窗口,实现按3分钟统计的需求 - 去重逻辑:用
arg_max(TimeGenerated, *)按「时间窗口+会话主机名」分组后,取每个组内最新的一条上报记录,彻底解决同一窗口内多上报重复的问题,保证每台主机每个3分钟窗口仅保留一条最准确的统计值 - 输出适配:如果需要导出统计数据而非直接生成图表,删除最后一行
render语句即可;保留render语句可直接生成按主机拆分的会话数趋势图,符合你的图表展示需求
内容的提问来源于stack exchange,提问作者Mbrouwer88
相关产品推荐
相关产品推荐

