如何不硬编码时间范围,用make-series适配仪表盘用户选择的时间区间?
使用仪表盘时间范围搭配make-series实现动态错误仪表盘
当然可以实现!你完全不用硬编码固定时间范围来使用make-series,同时还能保留每个时间分箱填充默认值0的需求,只需要利用仪表盘内置的时间范围参数就行。
具体来说,支持make-series的监控平台(比如Kusto)会提供内置的全局参数来获取用户在仪表盘上选择的时间范围,通常是__timeRangeStart和__timeRangeEnd这两个变量——它们会自动同步用户选择的时间区间(比如24小时、48小时或自定义范围)。
把你的查询修改成这样就可以了:
make-series dcount(id) default=0 on timestamp from __timeRangeStart to __timeRangeEnd step 8h
为什么这个方案可行?
- 当用户切换仪表盘的时间范围时,
__timeRangeStart和__timeRangeEnd会自动更新为对应的起始和结束时间,make-series会基于这个动态范围生成时间序列 default=0的设置完全保留,那些没有事件的时间分箱依然会被填充为0,不会出现缺失的情况
如果你的平台里这两个参数的名称略有不同(比如有些工具可能用timeRangeStart而非带双下划线的版本),可以去仪表盘的参数设置里确认一下——这类时间范围参数几乎都是平台内置的,名称大同小异。
内容的提问来源于stack exchange,提问作者Matt Dalzell
相关产品推荐
相关产品推荐

