如何使用Kibana + Elastic Search检索字段的唯一计数

Afs*_*ian 67 elasticsearch logstash kibana

是否可以使用Kibana查询字段的不同/唯一计数?我使用弹性搜索作为我的Kibana后端.

如果是这样,查询的语法是什么?下面是我想查询Kibana界面的链接:http://demo.kibana.org/#/dashboard

我正在使用logstash解析nginx访问日志并将数据存储到弹性搜索中.然后,我使用Kibana运行查询并在图表中可视化我的数据.具体来说,我想知道使用Kibana在特定时间范围内的唯一IP地址的数量.

Pig*_*ras 50

对于Kibana 4,请转到这个答案

使用术语面板很容易做到这一点:

将条款面板添加到Kibana

如果要选择日志中不同IP的计数,则应在字段中指定clientip,应该在长度上放置足够大的数字(否则,它将在同一组下加入不同的IP)并在样式中指定表.添加面板后,您将拥有一个包含IP的表,以及该IP的计数:

具有IP和计数的表

  • @Klu您可以获取IP的唯一计数,并且可以设置带有自定义日期的时间戳过滤器以获取当天每个IP的计数.您不能做的是,显示多天的图表以及每天不同条款的唯一计数. (3认同)

Pig*_*ras 44

现在,Kibana 4允许您使用聚合.除了建立一个像Kibana 3的答案中所解释的那样的小组,现在我们可以看到不同时期的唯一IP的数量,这是(IMO)OP首先想要的.

要构建这样的仪表板,您应该进入可视化 - >选择索引 - >选择垂直条形图,然后在可视化面板中:

  • 在Y轴中,我们需要唯一的IP数(选择存储IP的字段),在X轴中我们需要一个带有时间字段的日期直方图.

构建可视化

  • 按下Apply按钮后,我们应该有一个图表,显示按时分配的IP的唯一计数.我们可以在X轴上更改时间间隔,以便每小时/每天查看唯一的IP ...

最后的情节

只要考虑到唯一的计数是近似的.有关更多信息,请查看此答案.


Mar*_*cin 7

请注意您使用"基数"指标的唯一计数,这并不总能保证确切的唯一计数.:-)

基数度量是近似算法.它基于HyperLogLog ++(HLL)算法.HLL通过散列您的输入并使用散列中的位来对基数进行概率估计.

根据数据量,我可以通过Elastic中的Unique Count获得300k数据集中缺失的700多个条目的差异,否则这些条目确实是唯一的.

在此处阅读更多内容:https://www.elastic.co/guide/en/elasticsearch/guide/current/cardinality.html


ole*_*khr 6

在"clientip"上创建"topN"查询,然后在"clientip"上计数直方图,并将"topN"查询设置为源.然后你会看到每次不同的ips数.