如何设置Kibana仪表盘自动展示Jenkins最新构建的测试数据
Kibana自动展示最新构建测试数据的实现方案
下面提供两种不同复杂度的实现方式,可根据你的数据规模选择:
方案一:动态查询筛选(无需修改数据结构,适合中小数据量)
直接通过DSL子查询在每次仪表盘刷新时自动获取最新的build_number,不需要手动修改筛选值:
- 打开目标仪表盘,点击顶部筛选栏的「添加筛选器」,选择「编辑为查询DSL」
- 输入以下查询语句后保存:
{ "terms": { "build_number": { "index": "data", "size": 1, "sort": [ { "build_number": "desc" } ], "field": "build_number" } } }
- (可选)点击仪表盘右上角的刷新按钮,设置自动刷新间隔(如5分钟),即可实现数据自动同步更新。
多任务单独匹配最新构建的扩展逻辑
如果需要同时展示不同Jenkins任务各自的最新构建数据,可将上述查询调整为按任务分组取各任务最大build_number即可。
方案二:预计算专用索引(性能更优,适合大数据量)
如果你的索引数据量超过百万级,为避免每次查询的子查询开销,可通过Elasticsearch Transform功能预生成最新构建的专用索引:
- 进入Kibana「Stack Management」-「Transform」页面,点击「创建Transform」
- 源索引选择你的
data索引,聚合规则选择latest类型,按build_number排序获取最新构建的所有文档,输出新索引命名为latest_test_result - 开启Transform的持续运行开关,新的测试数据写入后会自动同步到新索引
- 将所有仪表盘可视化组件的绑定索引修改为
latest_test_result,无需额外添加筛选器即可默认展示最新构建数据。
内容的提问来源于stack exchange,提问作者Francesco Villano
相关产品推荐
相关产品推荐

