Kibana 用户指南(搜索你的数据)

  • Post author:
  • Post category:其他


搜索你的数据

通过在查询栏中输入搜索条件,可以搜索与当前索引模式匹配的索引,你可以使用Kibana的标准查询语言(基于Lucene

查询语法

)或完整的基于JSON的

Elasticsearch Query DSL

。作为实验性特性,Kibana查询语言可以使用自动完成和简化查询语法,你可以在查询栏的

options

菜单下选择这些特性。

提交搜索请求时,将更新直方图、文档列表和字段列表,以反映搜索结果,命中的总数(匹配的文档)显示在工具栏中,文档列表显示前500个命中。默认情况下,命中的是按时间倒序排列的,最新的文档首先显示,你可以通过单击时间列标题来反转排序顺序,还可以根据任何索引字段中的值对列表进行排序,有关更多信息,请参阅

对Documents列表进行排序

要搜索你的数据,请在查询栏中输入你的搜索条件,然后按

Enter

或单击

search

按钮将请求提交到Elasticsearch。

你可以通过在高级设置下将

search:queryLanguage

更改为

kuery

来默认选择我们的实验查询特性。

Lucene查询语法

Kibana的查询语言一直基于Lucene查询语法,以下是一些可以帮助你开始的技巧。

  • 要执行一个自由的文本搜索,只需输入一个文本字符串,例如,如果你正在搜索web服务器日志,你可以输入

    safari

    以搜索

    safari

    条文的所有字段。
  • 要在特定字段中搜索值,请在该值前面加上字段的名称,例如,你可以输入

    status:200

    以查找

    status

    字段中包含值

    200

    的所有条目。
  • 要搜索一个值范围,可以使用带括号的范围语法,

    [START_VALUE TO END_VALUE]

    ,例如,要查找具有4xx状态码的条目,可以输入

    status:[400 TO 499]

  • 要指定更复杂的搜索条件,可以使用布尔运算符

    AND



    OR



    NOT

    ,例如,要查找具有4xx状态码并具有

    php



    html



    extension

    的条目,可以输入

    status:[400 TO 499] AND (extension:php OR extension:html)

有关Lucene查询语法的详细信息,请参见

查询字符串查询

文档。

这些示例使用Lucene查询语法,当选择lucene作为查询语言时,你还可以使用

Elasticsearch Query DSL

提交查询。

Kibana查询语言增强

这个功能是实验性的,在将来的版本中可能会完全改变或删除。

在6.0中,我们引入了一种实验性查询语言

Kuery

,我们把从实验中学到的应用到标准的Kibana语查询语言中,因此,

Kuery

不再作为独立的选项可用,使用

Kuery

保存的搜索将自动选择使用本页面中描述的语言增强,但是,对查询语法做了一些修改,因此请继续阅读有关新内容的详细信息。

从6.3开始,你可以在查询栏的

options

菜单下选择加入一些令人兴奋的实验性查询语言增强,目前,可选项将支持自动完成功能、脚本字段支持和简化、更容易的使用语法。我们正在努力构建更多的特性供你尝试,利用这些特性,让我们知道你的想法!

新的简化语法

如果你熟悉Kibana的旧的lucene查询语法,那么你就应该很快熟悉新语法,基本保持不变,我们只是改进了一些东西,使查询语言更容易使用,阅读下面的更改。


response:200

将匹配

response

字段匹配值

200

的文档。

在搜索词的前后加引号将启动短语搜索,例如,

message:“Quick brown fox”

将在

message

字段中搜索短语

“Quick brown fox”

,如果没有引号,你的查询将通过

message

字段的配置分析器分解为令牌,并将匹配包含这些令牌的文档,无论它们出现的顺序如何。这意味着使用

“quick brown fox”

的文档会匹配,而使用

“quick fox brown”

的文档也会匹配,如果你想搜索一个短语,记得使用引号。

查询解析器将不再在空格上拆分,多个搜索词必须由显式布尔运算符分隔,注意,布尔运算符不区分大小写。


response:200 extension:php

在lucene中将变成

response:200 and extension:php

,这将匹配

response



200

匹配并且

extension



php

匹配的文档。

我们可以使用

or

让条文可选。


response:200 or extension:php

将匹配

response

匹配

200



extension

匹配

php

或两者都匹配的文档。

默认情况下,

and

具有比

or

更高的优先级。


response:200 and extension:php or extension:css

将匹配

response



200

并且

extension



php

的文档或

extension



css

并且

response

为任何值的文档。

我们可以用分组覆盖默认优先级。


response:200 and (extension:php or extension:css)

将匹配

response



200

并且

extension



php



css

的文档。

存在一种简写方式,允许我们轻松地在单个字段中搜索多个值。


response:(200 or 404)

搜索

response

字段匹配

200



404

的文档,我们还可以搜索包含条文列表的多值字段的文档,例如:

tags:(success and info and security)

在条文前加上

not

可以使它们颠倒。


not response:200

将匹配所有

response

不为

200

的文档。

整个组也可以被颠倒。

response:200 and not (extension:php or extension:css)

范围查询与lucene相似,只是语法上很小的差异。

替代

bytes:>1000

,我们省略了冒号:

bytes > 1000


>, >=, <, <=

均为有效范围运算符。

现有查询很简单,不需要特殊的操作符,

response:*

将找到所有存在

response

字段的文档。

通配符查询可用,

machine.os:win*

将匹配

machine.os

字段以

"win"

开头的文档,它将匹配像

“windows 7”



“windows 10”

的值。

通配符还允许我们同时搜索多个字段,当你同时拥有一个

text



keyword

版本的字段时,这可以派上用场,假设我们有

machine.os



machine.os.keyword

字段并且我们都想要检索

"windows 10"

这个词,我们可以像这样做:

machine.os*:“windows 10”

没有字段的条文将在索引设置中与默认字段进行匹配,如果没有设置默认字段,这些条文将与所有字段匹配,例如,

response:200

查询将在

response

字段中搜索值

200

,而仅搜索

200

的查询将在索引中的所有字段中搜索

200

保存和打开搜索

保存搜索使你能够重新加载它们到

Discover

中,并将它们用作可视化的基础,保存搜索将保存搜索查询字符串和当前选择的索引模式。

保存搜索

保存当前搜索:

  1. 在Kibana工具栏中点击

    Save

  2. 输入搜索的名称并单击

    Save

你可以从

Management/Kibana/Saved Objects

导入、导出和删除已保存的搜索。

打开一个保存的搜索

将保存的搜索载入

Discover

  1. 单击Kibana工具栏中的

    Open

  2. 选择要打开的搜索。

如果保存的搜索关联的索引模式与当前选择的索引模式不同,打开保存的搜索将更改所选的索引模式,用于保存的搜索的查询语言也将被自动选择。

改变你正在搜索的索引

当你提交一个搜索请求时,搜索与当前选择的索引模式匹配的索引,当前索引模式显示在工具栏下面,要更改你正在搜索的索引,请单击索引模式并选择一个不同的索引模式。

有关索引模式的更多信息,请参见创建索引模式。

刷新搜索结果

随着更多的文档被添加到你正在搜索的索引中,在

Discover

中显示的并用于显示可视化的搜索结果变得陈旧,你可以配置一个

refresh interval

来定期重新提交搜索,以检索最新的结果。

启用自动刷新:

  1. 在Kibana工具栏上单击

    Time Picker

    按钮。
  2. 点击

    Auto refresh

  3. 从列表中选择一个刷新间隔。


autorefresh-intervals.png

启用自动刷新时,刷新间隔将显示在时间选择器旁边,并显示一个暂停按钮,要临时禁用自动刷新,请单击

Pause

如果没有启用自动刷新,你可以通过单击

Refresh

手动刷新可视化效果。



上一篇:设置时间过滤器


下一篇:按字段过滤