如何在Kibana可视化中基于最小@timestamp设置筛选条件
Kibana Min聚合结果筛选操作指南
以下覆盖你提到的三种实现方式,按场景选择即可:
一、仪表板可视化界面直接操作
场景1:仅筛选2021-11-20之后的原始文档计算Min Time
- 打开目标可视化组件,进入编辑模式
- 点击页面顶部筛选栏的「添加筛选器」
- 字段选择你用于计算Min Time的原始时间字段,操作符选「大于」,值输入
2021-11-20,保存即可。
场景2:筛选聚合后Min Time结果大于2021-11-20的分组
- 进入可视化编辑页,确认你已创建Min聚合指标,且自定义名称为「Min Time」
- 在「分桶(Buckets)」配置项下点击「添加子聚合」,选择「桶选择器(Bucket Selector)」类型
- 在「桶路径」配置栏输入
minTime:Min Time(名称需和你之前设置的Min聚合名称完全一致) - 保存配置后刷新可视化,即可看到过滤后的结果。
二、手动查询实现
可以直接在Kibana Dev Tools的Console中运行DSL查询实现需求,示例如下:
POST /你的索引名称/_search { "size": 0, "aggs": { "自定义分组名称": { "terms": { "field": "你用于分组的字段名", "size": 100 }, "aggs": { "Min Time": { "min": { "field": "原始时间字段名" } }, "min_time_filter": { "bucket_selector": { "buckets_path": { "minTime": "Min Time" }, // 1637366400000 为2021-11-20 00:00:00对应的毫秒级时间戳 "script": "params.minTime > 1637366400000" } } } } } }
你需要替换代码中的索引名称、分桶字段、原始时间字段为你实际使用的字段值。
三、高级选项卡JSON脚本使用方法
在可视化编辑界面配置桶选择器聚合时,可通过高级选项卡自定义脚本实现筛选:
- 按上述场景2的步骤添加「桶选择器」子聚合
- 展开聚合配置下的「高级」选项卡
- 在脚本输入框中填写以下内容即可,你可以直接用日期字符串写法避免手动转换时间戳:
"script": "params.minTime > Instant.parse('2021-11-20T00:00:00Z').toEpochMilli()"
- 保存聚合配置,更新可视化即可生效。
内容的提问来源于stack exchange,提问作者Willy Setiawan
相关产品推荐
相关产品推荐

