当前位置: 首页 > 知识库问答 >
问题:

如何利用Kibana+弹性搜索检索字段的唯一计数

宗政坚白
2023-03-14

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

如果是,查询的语法是什么?这里有一个指向Kibana界面的链接,我想查询一下:http://demo.Kibana.org/#/dashboard

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

共有2个答案

富凯风
2023-03-14

现在Kibana 4允许您使用聚合。除了构建一个面板,就像在这个答案中解释的为Kibana 3的面板,现在我们可以看到在不同时期的独特IP的数量,这是(IMO)的OP首先想要的。

要构建这样的仪表板,您应该转到Visualize->选择索引->选择一个竖条形图,然后在Visualize面板中:

  • 在Y轴中,我们需要IP的唯一计数(选择存储IP的字段),在X轴中,我们需要带有时间字段的日期直方图。
  • 按下Apply按钮后,我们应该有一个图表,显示按时分发的IP的唯一计数。我们可以更改X轴上的时间间隔,以查看每小时/每天唯一的IPs...

只需考虑到唯一计数是近似值。如需更多信息,请查看此答案。

韩自怡
2023-03-14

对于Kibana 4,请转到以下答案

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

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

 类似资料:
  • 我还没有为索引创建任何显式设置。谢了。

  • 由于已经有很多关于连字符的问题,我已经尝试了以下解决方案: 使用字符筛选器:ElasticSearch-在名称中使用连字符进行搜索。 所以我做了这个映射: 所以char筛选器似乎没有在搜索字符串上执行?我该怎么做才能让它起作用?

  • 我有以下格式的弹性搜索文档 } } 我的要求是,当我搜索特定字符串(string.string)时,我只想获得该字符串的FileOffSet(string.FileOffSet)。我该怎么做? 谢谢

  • 目前我收到以下警告: 需要升级您的Elasticsearch版本太旧,Kibana需要Elasticsearch 0.90.9或以上。 有人能告诉我有没有办法找到ELS的确切安装版本?

  • 我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。