Kibana可视化中的聚合聚合

时间:2018-08-17 14:41:23

标签: elasticsearch kibana aggregation

我正在尝试在Kibana的一组聚合之上添加一些指标,但是我不知道这样做。 例如,我的数据如下:

{{"A": 12, "B": 15, "month": "July"  }, 
 {"A": 5, "B": 98,  "month": "August"},
 {"A": 54, "B": 21, "month": "July"  },
 {"A": 53, "B": 4,  "month": "August"},
 {"A": 15, "B": 24, "month": "August"},
 {"A": 45, "B": 33, "month": "July"  },
 {"A": 25, "B": 56, "month": "August"},
 {"A": 8, "B": 23,  "month": "August"},
 {"A": 7, "B": 78,  "month": "July"  }}

我想绘制一个折线图以显示过去几个月的SUM(A)/ SUM(B)。因此,在此示例中,Y轴为SUM(A)/SUM(B) per month。这是在聚合上应用聚合功能的一种。我知道我们可以在弹性搜索中实现聚合的聚合,但是在Kibana Visualization中呢?在当前版本的Kibana(6.3)中可以这样做吗?谢谢! enter image description here

1 个答案:

答案 0 :(得分:1)

正如评论中已经指出的,

这需要在Elasticsearch中进行bucket_script聚合。目前,这不适用于Kibana中的“经典图表”(请参见kibana/#4707)。

您可以使用带有表达式的Timelion(如上面的Andrei所指出的)解决此问题,然后在编辑器(或Timelion App)的间隔选择器中将间隔切换为1M:

.es(index=test,metric=sum:A,timefield=month).divide(.es(index=test,metric=sum:B,timefield=month))

另一种解决方案是使用“ Visual Builder”,其配置如下所示:

Editor configuration TSVB

如果需要每月值,还应该在“面板选项”下选择interval大小1M