日志查询神器 Kibana简单使用

日志查询神器 Kibana简单使用,第1张

Kibana 是通向 Elastic 产品集的窗口。 它可以在 Elasticsearch 中对数据进行视觉探索和实时分析。

时间过滤既按照时间范围查询document内容,如查询最近一个小时、最近一天、当天的数据等。也支持具体的时间范围查询(精确到毫秒)。

1).Time Range范围查询

条件查询Kibana支持两种方式查询。

1).通过Add Filter 按钮 添加过滤条件查询如下所示。

ToolBar工具按钮包含

可视化 (Visualize) 功能可以为您的 Elasticsearch 数据创建可视化控件。然后,您就可以创建仪表板将这些可视化控件整合到一起展示。

线形图,区域图和条形图允许您在 X/Y 轴上绘制数据。绘制数据之前首先需要明确X轴Y轴的数据指标是什么,只有确定了XY轴指标之后才能进行绘制。下边我以Vertical Bar(垂直柱形图)为例。

Markdown 控件是一个文本输入字段,支持 Github 风格的 Markdown 文本。Kibana 会渲染输入到该字段的文本,并把结果展示在仪表板上。

语法教程参见:

https://www.runoob.com/markdown/md-tutorial.html

每个时间序列可视化生成器又包含5个子可视化页面

Kibana 仪表板(Dashboard) 展示保存的可视化结果集合。

示例如下:

Options:选项

https://www.elastic.co/guide/en/kibana/6.8/introduction.html

在搜索栏输入要查询的关键词,如 login ,会返回所有字段值中包含 login 的文档

或者使用双引号将多个关键词包起来作为一个短语搜索,如 "like Gecko"

注意:

以以下字段进行说明

field:value 限定字段全文搜索

filed:"value" 精确搜索:关键字加上双引号

http.code:404 搜索http状态码为404的文档

根据字段本身是否存在

_exists_:http 返回结果中需要有http字段

_missing_:http 不能含有http字段

以上字符当作值搜索的时候需要用\转义

? _ 不能用作第一个字符,例如:?text _text

es支持部分正则功能,性能较差, 只有keyword类型的字段支持正则表达式

quikc~ brwn~ foks~

:在一个单词后面加上 启用模糊搜索,可以搜到一些拼写错误的单词

first~ 这种也能匹配到 frist

还可以设置编辑距离(整数),指定需要多少相似度

cromm~1 会匹配到 from 和 chrome

默认2,越大越接近搜索的原始值,设置为1基本能搜到80%拼写错误的单词

在短语后面加上~,可以搜到被隔开或顺序不同的单词

"where select"~5 表示 select 和 where 中间可以隔着5个单词,可以搜到 select password from users where id=1

数值/时间/IP/字符串 类型的字段可以对某一范围进行查询

使用^使一个词语比另一个搜索优先级更高,默认为1,可以为0~1之间的浮点数,来降低优先级

·+apache -jakarta test aaa bbb :结果中必须存在apache,不能有jakarta,剩余部分尽量都匹配到

以下使用nginx日志进行搜索展示, kibana中查询语句,

Kibana Discover功能,主要用于查询Elasticsearch数据,通过Kibana Query Language (KQL)查询语法实现数据查询。

创建索引模式

索引模式介绍

要使用Discover的功能首先需要创建索引模式(Index patterns), 索引模式其实就是包含通配符(*)的索引名,我们需要查询ES的数据,首先得知道要查询的索引(index)名字,但是有时候,我们想查询一批索引的数据。

例如:

同时查询下面索引的数据

tizi365_log_202005

tizi365_log_202006

tizi365_log_202007

那么我们可以使用 tizi365_log_* 作为索引模式,可以匹配以tizi365_log_为前缀的所有索引名。

例子

我们依然使用前面导入的航班数据,下面介绍如何创建新的索引模式

步骤1:打开管理页面(Management)

步骤2:

因为前面的章节导入航班数据的时候,自动创建了一个名字叫kibana_sample_data_flights的航班数据索引,如果我们只想搜索kibana_sample_data_flights索引的数据,则不需要通配符,直接使用kibana_sample_data_flights这个名字作为索引模式即可,如下图

因为导入测试数据的时候,自动创建了同名的索引模式,为了演示,我们这里使用kibana_sample_data_flig* 作为索引模式(使用了通配符星号,代表匹配任意字符)。

步骤3:

配置时间过滤器,主要用于排序和作为默认的数据过滤条件。

到此为止索引模式已经创建好了,下面我切换到Discover页面看看。

Discover 功能介绍

进入Discover页面,默认展示的索引数据不一定是我们想看的数据,可以点击change切换到kibana_sample_data_flig* 索引模式,如下图

我们可以通过KQL查询语法查询ES数据,可以把你感兴趣的字段名称和值当做搜索的条件,对于数字字段您可以使用比较运算符,例如大于(>)、小于(<)或等于(=)。您可以使用逻辑运算符 AND,OR 和 NOT 连接搜索条件。

例如:

查询航班机票平均价格大于300且小于600的航班信息

查询航班编号等于 1MAEYXT 的航班信息

例子:

过滤字段

默认查询结果展示索引的所有字段,信息比较多,我们可以选择展示指定的文档字段。

Discover左侧可以直接选择需要展示的文档字段。

上图我们仅展示航班编号和平均票价


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12139978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存