关于kibana可视化的元素数

时间:2017-02-03 21:57:44

标签: elasticsearch kibana

我在弹性索引上插入了JSON记录。如何计算“devices”数组中存在的所有元素的数量,以便可以在Kibana Dashboard上显示计数?

过滤条件 - SAMPLE应用程序的设备数量需要显示为“4”,Kibana上的SAMPLE2应用程序需要显示“2”。

无过滤条件 - 设备计数显示为“6”设备。

{
    "status" : "SUCCESS",
    "request" : ["ABC"],
    "applicationName" : "SAMPLE",  
    "endTime" : 1478772517736,
    "devices" : ["d1","d2","d3","d4"]
}
,
{
    "status" : "FAILED",
    "request" : ["EDF"],
    "applicationName" : "SAMPLE2",
    "endTime" : 1478772517736,
    "devices" : ["d5","d12"]
}

1 个答案:

答案 0 :(得分:0)

您应该在Kibana中创建scripted field,以获得数组元素的长度。所以你的脚本看起来像这样:

doc['devices'].values.size() 

doc['devices'].values.length

然后您可以使用数据表可视化,其中使用terms aggregation将数组计数分别设置为applicationName。或者你可以申请filters说:

applicationName:"SAMPLE"
applicationName:"SAMPLE2"

将显示给定过滤条件的数组计数。这SO可能会有所帮助。