Azure仪表板时间线图表仅显示至最后日志,如何设置为显示至当前时间?
解决方案
要让图表时间轴延伸到当前时间,即使后续没有异常产生,你需要生成覆盖过去24小时到当前时刻的完整15分钟时间桶,再和原查询的统计结果做左连接,将无异常的时间段填充为0。修改后的Kusto查询如下:
// 生成过去24小时到当前时间的所有15分钟时间桶 let time_range = range TimeBucket from ago(24h) to now() step 15m; // 统计各时间段的异常数量 let exception_stats = AppExceptions | where Properties.MS_FunctionName in ("WebhookFlow") | where TimeGenerated >= ago(24h) // 限定时间范围,提升查询效率 | summarize Exceptions = count() by bin(TimeGenerated, 15m); // 左连接时间桶和统计结果,填充无异常的时间段为0 time_range | left join exception_stats on $left.TimeBucket == $right.TimeGenerated | project TimeBucket, Exceptions = coalesce(Exceptions, 0) | render columnchart with (title="Webhook exceptions")
关键步骤说明:
- 生成完整时间桶:用
range函数创建从24小时前到当前时刻的所有15分钟间隔的时间点,确保时间轴覆盖到当前时间。 - 限定原查询时间范围:在原统计查询中添加
where TimeGenerated >= ago(24h),避免处理超出需要的数据,提升性能。 - 左连接填充0:通过
left join将时间桶和异常统计结果关联,用coalesce函数把无匹配的时间段的异常数设为0,保证每个时间桶都有数据。 - 渲染图表:基于完整的时间桶数据渲染,图表的时间轴就会延伸到当前时刻。
这样修改后,即使最近没有新的异常,图表最右侧也会显示到当前时间的空桶(数值为0),避免用户误解问题未解决。
内容的提问来源于stack exchange,提问作者Eric Ruder
相关产品推荐
相关产品推荐

