Kibana 文档发现与文档的可视化

Kibana安装与配置

Kibana 在整个 Elastic Stack 家族中起到数据可视化的作用,也就是通过图、 表、统计等方式将复杂的数据以更直观的形式展示出来。由于 Kibana 运行于Elasticsearch 基础之上,所以可以将 Kibana 视为 Elasticsearch 的用户图形界面 ( Graphic User Interface, GUI) 。

  • 文档发现(Discover)提供了交互式检索文档的接口,用户可以在这里提交查询条件、设置过滤器并查看检索结果。在文档发现中的查询条件还可以保存起来,这些保存起来的查询条件称为查询对象,可以在文档可视化和仪表盘功能中使用。

1 索引模式

  • 在使用文档发现功能检索文档之前,首先要告诉 Kibana 要检索 Elastiesearch 的哪些索引,这在 Kibana 中是通过定义索引模式来实现的。没有被索引模式包含进来的索引不能在文档发现、文档可视化和仪表盘等功能中使用

1.1 创建索引模式

  • 索引模式是一种对 Elasticsearch 中索引的模式匹配,以定义哪些索引将被包含到这个模式中。它以索引名称为基础,可以匹配单个索引也可以使用星号“*” 匹配多个索引。例如在导入飞行记录样例数据时,Kibana 会创建一个名为 kibana_sample_data_flights 的索引模式。索引模式的管理功能位于 Management 菜单中。
  • 点击manage

在这里插入图片描述

  • 点击index patterns

在这里插入图片描述

  • 这时候会出现之前在介绍es时导入的es提供的样例数据

在这里插入图片描述

  • 要创建新的索引模式,单击右上角的 Create index patter 按钮,进入索引模式创建界面

在这里插入图片描述

在这里插入图片描述

  • 创建索引模式分为两步,第一步需要在“Define index pattern"输入框中给出匹配索引名称的模式。模式可以直接使用索引名称,也可以使用星号“*”匹配任意字符。在输入模式的同时,Kibana 会在输入框下动态地将匹配索引模式的所有索引列出来,用户可以实时查看索引模式是否满足要求。单击 Next Step 按钮进入下一步。

在这里插入图片描述

  • 创建索引模式第二步是设置索引模式的一些配置信息,这包括添加时间过滤器和为索引模式指定 ID。如果模式匹配的索引中包含有时间类型的字段,在这一页将会包含一个设置时间过滤器的选项,用户可以选择使用哪一个字段作为时间过滤条件;否则页面将提示不包含时间类型的字段而不会有时间过滤器选项。
  • kibana_sample_data*数据包含时间字段

在这里插入图片描述

  • articles数据不包含时间字段

在这里插入图片描述

  • 在时间过滤器下,还有一个链接“Show advanced options", 单击这个链接会打开设置索引模式 ID 的输入框。默认情况下,Kibana 会给索引模式自动生成 一个 ID。如果想自己定义索引模式 ID,可以在这个输入框中输入 ID。

  • 这里使用employees 索引创建索引模式,让kibana自动生成index pattern id

在这里插入图片描述

  • 单击 Create index patterm 链接,Kibana 将创建这个索引模式,并跳入管理模式字段界面。同时在创建完索引模式后,在数据发现界面中就可以选择这些索引模式了。如图所示。

在这里插入图片描述

1.2 管理模式字段

  • 在管理索引模式的页面中选择一个索引模式后, 右侧页面中会列出索引模 式中的字段信息,包括字段名称、类型、是否可检索等。在每个字段后面都有一 个修改按钮, 可修改字段值的格式等信息,如图所示。
    在这里插入图片描述
  • 除了字段以外,在管理字段的界面中还包括脚本字段(Scripted fields)、 字段过滤器(field filters)两个标签页。脚本字段是通过脚本在运行时动态添加到索引模式中的字段,而字段过滤器则用于从源文档中过滤字段。
  • 脚本字段并不是真实地存在于索引中,而是根据其他字段值运算而来。给索引模式添加脚本字段需要在索引模式创建后,在管理索引模式的界面中在 “Scripted Field" 标签页中处理。
  • 字段过滤器用于从源文档中过滤字段,被过滤的字段将不会在文档发现和仪表盘中展示。源过滤器在定义时可以使用字段名称精确匹配字段,也可以使用星号匹配多个字段。
  • 设为默认就会在首页显示default,它将在文档发现中成为默认索引模式,而且在其他功能页中这个索引会第一个展示。

在这里插入图片描述

2. 发现文档

  • 文档发现就是要将满足条件的文档检索出来,Kibana 提供了多种方式设置查询条件。
  • 这包括通过时间范围过滤文档、使用过滤器过滤文档,还可以通过 Lucene 或 KQL 查询语言过滤文档。无论使用哪一种方式过滤文档,它们最终都会以 DSL 查询语言的形式传递给底层的 Elasticsearch。先来看看时间范围和过滤器这两种方式,它们最终会以 must 子句的形式组合进 bool 查询。
  • 点击菜单栏的discover

在这里插入图片描述

  • 这里选择飞行数据

在这里插入图片描述

  • 如果想要查看 Kibana 最终生成的请求,可单击工具栏中的 Inspect 按钮,在弹出窗口中选择 Request 标签页查看。

在这里插入图片描述

2.1 数据发现界面结构

  • 首先,工具栏在数据发现界面最上面靠右侧有一排包含了特定功能的按钮,如 New、 Save、Open 等,它们用于实现对文档发现的创建、保存等基础管理功能。
  • 接下来,在工具栏下面有一个输入框可键入查询条件检索文档,这个称为为查询栏。查询栏接收 Elasticsearch 查询语言 DSL,或者 Kibana 内置查询语言 KQL。
  • 在查询栏下侧称为过滤器栏,在没有定义过滤器时该栏只有一个 Add a filter 链接,而添加了过滤器后会有相应的过滤器定义展示出来。
  • 在查询栏右侧是时间栏,这一栏的作用可以设置检索文档的时间范围,还可以设置检索文档的刷新频率。所以查询栏、过滤器栏和时间栏的主要作用都是精确地限定检索文档的范围。
  • 再往下可以分为左右两栏,左侧分别列出了索引模式、已选择字段和可选择字段;而右侧上部显示了满足过滤条件文档的柱状图,下部则将相应的文档数据展示出来了。如果文档不存在,这时就需要更新文档的时间范围和刷新频率了。

在这里插入图片描述

2.2 使用时间过滤文档

  • 如果在创建索引模式时存在时间过滤器,那么在文档发现中就会看到设置时间过滤器的按钮。通常这个过滤器的默认值为"Last 15minutes",位于文档发现界面的时间栏上。
  • 时间栏上有一个日历图形的按钮,单击它会弹出选择时间范围的界面。时间范围可以设置为一个相对时间范围,例如最近 24 小时、前两周、前两个月等; 也可以是一个绝对时间范围,例如从 2022-3-1 至 2022-4-1,如图所示。

在这里插入图片描述

  • 在图中,弹出时间范围窗口的最下面还有一个可以设置刷新频率的输入框。 在这个输入框中可以按秒、分、小时为单位,输入页面刷新的时间间隔。设置好后单击后面的 Start 按钮,页面就会按设置好的时间间隔自动刷新数据。

2.3 自定义过滤器

  • 通过时间范围过滤文档只能通过在创建索引模式时指定的时间字段过滤文档,如果想通过其他字段对文档做过滤就必须要借助过滤器。为文档发现添加过滤器可通过过滤器栏的 Add filter 按钮完成,单击这个按钮会弹出 EIDT FILTER 对话框。

在这里插入图片描述

  • 下拉列表选择操作符和具体值。例如设置一个根据平均票价介于“600”到 “900” 之间的条件过滤航班文档,首先要在 Field 下拉列表中选择 AvgTicketPrice 字段,然后在 Operator 下拉列表中选择“is between",最后在弹 出的 From 和 To 输入框中输入“600”和“900”,单击 Save 按钮就完成了过 滤器的设置。
  • 新创建出来的过滤器会出现在过滤器栏上,如果需要组合多个字段过滤文档, 可以多次单击 Addfilter 创建多个过滤器。由于过滤器设置的查询条件最终会被 放置在 bool 组合查询的 must 子句中,所以多个过滤器之间的逻辑关系是与。点 击这些出现在过滤器栏上的过滤器时,会弹出一个对话框,包括对过滤器编辑、 删除、启用以及逆向过滤等功能。

在这里插入图片描述

3. 使用查询语言

  • 时间范围和过滤器设置的查询条件都是以逻辑与的形式组合在一起的, 如果需要设置更复杂的查询条件就需要在查询栏中输人查询条件以检索文档。目前 Kibana 文档发现中支持 Lucene 和 KQL ( Kibana Query Language)两种查询语言,前者可以认为就是 Elasticsearch 中的 DSL,而后者则是 Kibana 提供的一种新查询语言。
  • 要切换查询语言,只需点击Kibana Query Language这个开关即可

在这里插入图片描述

在这里插入图片描述

  • 要查询,在输入栏中输入查询语言即可,比如:{“bool”:{“must”:[{“match”:{“OriginCountry”:“CN”}}],“should”:[{“term”:{“DestAirportID”:“LTN”}}]}}

在这里插入图片描述

只有 OriginCountry 字段包含 CN 词项的日志文档才会被返回,而 DestAirportID 字段是否为 LTN 只影响相关度,当然相关度越高的肯定排在前面。

  • 对查询结果进行保存,可以为后续生成图表提供数据,点击工具栏的save按钮,然后输入title,保存即可

在这里插入图片描述

4. 文档展示与字段过滤

  • 通过时间范围、过滤器和查询语言发现的文档最终会以柱状图和表格两种形式展示

4.1 柱状图

  • 文档发现会根据保存的查询条件刷新页面。根据查询条件生成的柱状图会以时间为 X 轴,而以文档数量为 Y 轴。当鼠标指针悬停于单个柱子上时,还会弹出当前柱子代表数据的具体说明,包括时间范围、文档数量等。在默认情况下, 柱状图中各个柱子之间的时间间隔会根据时间范围自动匹配。在柱状图栏右上侧也提供了一个下拉列表修改时间间隔

在这里插入图片描述

4.2 文档展示

  • 默认情况下文档栏只包含两列,一列是 Time,另一列是 Document。Time 列仅在索引模式设置了时间过滤器时才会有,它会展示时间过滤器中指定的时间字段值。
  • Document列则显示源文档,也就是在使用 DSL 查询时返回的Document字段值。文档栏展示哪些列可通过左侧的字段栏来定制,字段栏分为“Selected fields" 和“Available fields" 两个区域。
  • “ Selectedfelds"区域列出了将在文档展示栏展示的所有字段;而“Available fields"区域则列出了文档所有可以展示的字段。“ Available fields" 区域列出的字段受到索引模式的源文档过滤器影响。

在这里插入图片描述

  • 当鼠标指针悬停在“Available fields" 列表中的字段上时,字段后面将会出 现"add"按钮。单击这个按钮,字段就会被添加到“Selected fields" 列表中,同时文档展示栏中展示的字段也会随之变化。一旦明确指定了需要展示的字段, source 字段就不会再出现在文档展示栏中。反过来,当鼠标指针悬停在 “Selected fields" 字段上时,字段后面将会出现 remove 按钮。单击这个按钮, 字段将从“Selected fields" 列表中删除并出现在“Available fields"列表中,而文档展示栏中也不会再展示这个字段的内容。

在这里插入图片描述
在这里插入图片描述

4.3 添加过滤器

  • 除了可以通过 add 和 remove 按钮设置展示字段外,单击任何一个字段都会列出字段中出现的热门词项。这些词项是根据它们词频的排名,取前五位而形成的词项列表。例如单击 DestCountry 字段会列出4个词项 GB、CN、US 和 FI(因为这个时间段内只有4条数据,所以只显示了4条),在每个词项下面还有它们出现的百分比,这代表了航班的热门目的地国家。

在这里插入图片描述

  • 热门词项后面有一对类似于放大和缩小的图标,它们用于根据词项过滤文档。 本书将称类似放大图标的按钮为包含按钮,而称类似缩小图标的按钮为排除按钮。 这两个按钮在数据发现界面上的其他地方也会出现,作用是包含或排除词项值。 具体来说,单击包含按钮会将当前字段包含该词项的文档过滤出来,而点击排除按钮则会将当前字段不包含该词项的文档过滤出来。单击这两个按钮会形成不同的过滤器,它们会自动出现在过滤器栏中。例如,选择 DestCountry 是 CN,而 Cancelled 为 false 的所有文档,会形成两个过滤器如图所示

在这里插入图片描述

  • 在文档栏,当鼠标指针悬停在每条文档的字段值上时,同样会出现包含按钮和排除按钮,它们也可以用于根据字段与词项生成过滤器。在每条 文档前还有一个展开/收起开关,点击展开文档,可以看到当前文档的全部详细。 这包括所有字段以及它们的值,还有对字段的操作等。

在这里插入图片描述

除了包含和排除按钮以外,还有两个按钮。 第三个按钮的作用是从文档栏的列表中添加或删除字段的开关,而第四个按钮则会添加一个字段存在性的过滤器。

5. 文档的可视化

  • Kibana 可视化功能以图表形式展示 Elasticsearch 中的文档数据,能够让用户以最直观的形式了解数据变化的趋势、峰谷值或形成对比。这些图表根据查询 条件从索引中提取文档,查询条件可以在文档可视化界面中定制,也可以使用在文档发现中保存的查询对象。文档可视化生成的图表也可以保存为可视化对象。在进入文档可视化界面时将会列出 Kibana 中所有的可视化对象,如果已经将 Kibana 提供的样例数据导入,则在这个页面上将列出几十个不同的可视化对象。可以逐一点开查看这些可视化对象, 它们是学习文档可视化的好素材。在列表上方有搜索框,可根据名称搜索文档可视化对象

在这里插入图片描述

5.1 创建面积图

  • 在搜索框上面面有一个按钮

在这里插入图片描述

  • 点击Aggregation based这个按钮会展示出所有可选的文档可视化类型
    在这里插入图片描述
  • 文档可视化类型很多,包括折线图、饼图、仪表、表格等,选择Area面积图

在这里插入图片描述

  • 这里可以使用前面保存过的first_demo数据制作图标

在这里插入图片描述

  • 这里简单绘制一个飞行距离与机票价格关系的面积图;先在 Metrics 下面将 Y 轴设置为机票平均价格,即取 AvgTicketPrice 字段的平均值。单击 Y-Axis 展开表单,将 Aggregation 的默认聚集类型 Count 修改为 Average。接 下来在 Field 选项中,选择字段为 AvgTicketPrice。 表单中 Custom Label 用于定制 Y 轴的文字说明,比如输入“Price"
  • 再在 Buckets 下面将 X 轴设置为飞行距离,即按 DistanceKilometers 字段的值分桶。首先点击 X Asis 展开表单,将 Aggregation 下的聚集类型设置为 Histogram 接下来在 Field 选项中,选择字段为 DistanceKilometers;Minimum Interval 使用自动(也可以根据需要选择最小间隔)。
  • X 轴和 Y 轴这样设置的目的是将文档按 DistanceKilometers 字段划分成不同的组,然后再对每一组文档的机票价格求平均值,最后将它们绘制在界面上。设置结束后,单击”Update”按钮,右侧的图形就会将数据绘制出来。

在这里插入图片描述

  • 创建好的可视化对象可以保存起来,单击工具栏的 Save 按钮,将面积图保存为“[Fisher]Area-Distance&Price",选择None添加到library中,供后续使用。保存好的可视化对象,可以在进入可视化功能界面中看到。

在这里插入图片描述

在这里插入图片描述

5.2 指标叠加

  • 指标叠加是创建多个指标聚集,并且在一张二维坐标图中绘制出来,直观的表现就是在二维坐标中有多个图共享相同的坐标。下面就在飞行距离与机票价格的基础上,给可视化对象再添加一个指标,以体现不同飞行距离的航班数量。
  • 重新打开“[Fisher]Area-Distance&Price “,将它另存为 “[Fisher]Area-Distance&Price &Count”。

在这里插入图片描述

  • 在 Metrics 下面单击 Add 按钮为 Y 轴增加新的指标。

在这里插入图片描述

  • 在弹出的 Seleet metrics type 中选择 Y- Axis,再选择指标聚集类型为 Max,选择字段AvgTicketPrice,并为坐标添加说明标签 Max。设置好之后 Update,会看到在面积图中出现了两种不同颜色的面积图
    在这里插入图片描述

  • 在默认情况下,叠加指标之间不会出现交叉,这里可通过设置 Mode 参数修改。 将配置页面切换回 Mris&Axes 会看到 Meries 在原来 Price 的基础上多了一个 Max。在 Mode 参数的下拉列表中选择 normal ,点击update,平均值和最大值将会交叉展示

在这里插入图片描述

  • 在多指标的情况下每一个指标的设置都是独立的,可以分别给每个指标选择不同的图形,因此可以在一个图形中同时使用折线图、面积图和柱状图来表现不同的指标。
  • 叠加指标时多个指标可以共享一个 Y 轴,也可以在 Metrics& Axes 配置页中设置图像使用多个Y轴。在Metrics& Axes配置页中将Count指标展开,在“Value Axis"选项中选择“New Axis”,这时在下面的 Y-Axes 中就会多出来一个新的 Y 轴

在这里插入图片描述

在这里插入图片描述

  • 如果将两个指标的 Y 轴分列两边,则图形的 Mode 就只能是 normal 了,即使选择 stacked 也不会再起作用了。
  • 还可以将面积切换成线或者柱状

在这里插入图片描述

  • 在配置栏最后一个标签页是“ Panel Settings", 可以设置图例位置、提示、网格线等等配置。图侧默认情况下位于坐标图形的右上侧,它展示了图形中不同颜色图形对应的信息。不仅如此,单击这个图例还可以配置图形颜色
  • “Panel Settings"其余参数中,Legend position 用于设置图例位置,包括 Top、Left、Right、Bottom 四个选项,Show tooltip 则是图形提示信息的开关, 当开启时鼠标指针悬停在图形拐点上时会出现提示信息。

在这里插入图片描述

在这里插入图片描述

5.3 仪表盘

  • 仪表盘(Dashboard)是 Kibana 提供的综合展示数据的功能,在 Kibara 中保存的可视化对象可以在仪表盘中组合起来共同展示。

在这里插入图片描述

  • 如果想要创建新的仪表盘对象,可单击 Create new dashboard 按钮。

在这里插入图片描述

  • 点击add from library添加可视化对象

在这里插入图片描述

  • 将刚才制作的两个图标添加进来

在这里插入图片描述

  • 添加之后就可以保存了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值