首页 > 解决方案 > Kibana 可视化中的聚合聚合

问题描述

我正在尝试在 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 可视化中呢?在当前版本的 Kibana (6.3) 中可以做到这一点吗?谢谢! 在此处输入图像描述

标签: elasticsearchkibanaaggregation

解决方案


正如评论中已经指出的那样,这需要bucket_script在 Elasticsearch 中进行聚合。这目前不适用于 Kibana 中的“经典图表”(请参阅​​ kibana/#4707)。

您可以使用带有表达式的 Timelion 来解决这个问题(如上面 Andrei 所指出的),并在编辑器(或 Timelion 应用程序)的间隔选择器中将间隔切换为 1M:

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

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

编辑器配置 TSVB

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


推荐阅读