Kibana 聚合和指标

 

您在学习 Kibana 期间经常遇到的两个术语是 Bucket 和 Metrics Aggregation。本章讨论了它们在 Kibana 中扮演的角色以及有关它们的更多详细信息。

 

什么是 Kibana 聚合?

聚合是指从特定搜索查询或过滤器中获得的文档集合或一组文档。聚合是在 Kibana 中构建所需可视化的主要概念。

无论何时执行任何可视化,您都需要确定标准,这意味着您希望以何种方式对数据进行分组以对其执行指标。

在本节中,我们将讨论两种类型的聚合:

  • Bucket Aggregation
  • Metric Aggregation

 

Bucket Aggregation

一个bucket主要由一个key和一个document组成。当执行聚合时,文档被放置在各自的桶中。所以最后你应该有一个桶列表,每个桶都有一个文档列表。在 Kibana 中创建可视化时您将看到的 Bucket Aggregation 列表如下所示:

Bucket Aggregation

Bucket Aggregation 有以下列表:

  • Date Histogram
  • Date Range
  • Filters
  • Histogram
  • IPv4 Range
  • Range
  • Significant Terms
  • Terms

 

在创建时,您需要为 Bucket Aggregation 决定其中之一,即将存储桶内的文档分组。

例如,为了分析,请考虑我们在本教程开始时上传的国家/地区数据。国家索引中可用的字段是国家名称、地区、人口、地区。在国家数据中,我们有国家名称以及人口、地区和面积。

让我们假设我们想要区域明智的数据。然后,每个地区可用的国家成为我们的搜索查询,因此在这种情况下,该地区将形成我们的桶。下面的框图显示 R1、R2、R3、R4、R5 和 R6 是我们得到的桶,c1、c2 ..c25 是文档列表,它们是桶 R1 到 R6 的一部分。

Block Diagram Aggregation

我们可以看到每个桶里都有一些圆圈。它们是基于搜索条件的一组文档,并被认为落入每个桶中。在存储桶 R1 中,我们有文档 c1、c8 和 c15、这些文件是属于该地区的国家,其他国家也一样。因此,如果我们计算 Bucket R1 中的国家/地区,则为 3,R2 为 6,R3 为 6,R4 为 2,R5 为 5,R6 为 4、

因此,通过桶聚合,我们可以聚合桶中的文档,并在这些桶中拥有一个文档列表,如上所示。

到目前为止,我们拥有的 Bucket Aggregation 列表是:

  • Date Histogram
  • Filters
  • Histogram
  • IPv4 Range
  • Range
  • Significant Terms
  • Terms

 

现在让我们来详细讨论一下如何形成这些桶。

 

Date Histogram

日期直方图聚合用于日期字段。因此,您用于可视化的索引,如果该索引中有日期字段,则只能使用此聚合类型。这是一个多桶聚合,这意味着您可以将一些文档作为 1 个以上桶的一部分。有一个用于此聚合的间隔,详细信息如下所示:

日期直方图

当您选择 Buckets Aggregation 作为日期直方图时,它将显示仅提供与日期相关的字段的字段选项。选择字段后,您需要选择具有以下详细信息的间隔:

选择间隔直方图

因此,所选索引中的文档会根据所选的字段和间隔对文档进行分类。例如,如果您选择时间间隔为每月,则基于日期的文档将转换为桶,并基于月份(即 1 月至 12 月)将文档放入桶中。这里 Jan,Feb,..Dec 将是桶。

 

Date Range

您需要一个日期字段才能使用此聚合类型。在这里,我们将有一个日期范围,即要给出的日期和截止日期。存储桶将根据给定的形式和日期提供其文档。

日期范围

 

Filters

使用过滤器类型聚合,桶将根据过滤器形成。在这里,您将根据一个文档可以存在于一个或多个存储桶中的过滤条件形成一个多存储桶。

使用过滤器,用户可以在过滤器选项中编写他们的查询,如下所示:

过滤器

您可以使用添加过滤器按钮添加您选择的多个过滤器。

 

Histogram

这种类型的聚合应用于数字字段,它将根据应用的间隔将文档分组到一个存储桶中。例如0-50,50-100,100-150等

Histogram

 

IPv4 Range

这种类型的聚合主要用于 IP 地址。

IPv4 Range

我们拥有的索引 contriesdata-28.12.2018 没有 IP 类型的字段,因此它显示如上所示的消息。如果您碰巧有 IP 字段,则可以在其中指定 From 和 To 值,如上所示。

 

Range

这种类型的聚合需要字段的类型为数字。您需要指定范围,文档将列在该范围内的桶中。

如果需要,您可以通过单击"添加范围"按钮来添加更多范围。

 

Significant Terms

这种类型的聚合主要用于字符串字段。

重要条款

 

Terms

这种类型的聚合用于所有可用字段,即数字、字符串、日期、布尔值、IP 地址、时间戳等。请注意,这是我们将在我们将要工作的所有可视化中使用的聚合在本教程中。

Terms

我们有一个选项顺序,我们将根据我们选择的指标对数据进行分组。大小是指您要在可视化中显示的桶数。

接下来,让我们谈谈指标聚合。

 

Metric Aggregation

Metric Aggregation 主要是指对存储桶中存在的文档进行的数学计算。例如,如果您选择一个数字字段,您可以对其进行的度量计算是 COUNT、SUM、MIN、MAX、AVERAGE 等。

此处给出了我们将讨论的度量聚合列表:

Metric Aggregation

在本节中,让我们讨论我们将经常使用的重要内容:

 

  • Average
  • Count
  • Max
  • Min
  • Sum

 

该指标将应用于我们上面已经讨论过的单个存储桶聚合。

接下来,让我们在这里讨论指标聚合列表:

 

Average

这将给出存储桶中存在的文档值的平均值。例如:

Average

R1 到 R6 是桶。在 R1 中,我们有 c1、c8 和 c15、考虑c1的值是300,c8是500,c15是700,现在得到R1桶的平均值

R1 = c1 的值 + c8 的值 + c15 的值/3 = 300 + 500 + 700/3 = 500。

存储桶 R1 的平均值为 500。这里文档的值可能是任何东西,如果您考虑国家数据,它可能是该地区国家/地区的面积。

 

Count

这将给出 Bucket 中存在的文档计数。假设您想要该地区存在的国家/地区的数量,它将是存储桶中存在的文档总数。例如,R1 将是 3、R2 = 6、R3 = 5、R4 = 2、R5 = 5 和 R6 = 4、

 

Max

这将给出存储桶中存在的文档的最大值。考虑上面的例子,如果我们在区域桶中有区域明智的国家数据。每个地区的最大值将是面积最大的国家。所以每个地区都会有一个国家,即 R1 到 R6、

 

in

这将给出存储桶中存在的文档的最小值。考虑上面的例子,如果我们在区域桶中有区域明智的国家数据。每个地区的最小值将是面积最小的国家。所以每个地区都会有一个国家,即 R1 到 R6、

 

Sum

这将给出存储桶中存在的文档值的总和。例如,如果您考虑上面的示例,如果我们想要该地区的总面积或国家/地区,它将是该地区存在的文档的总和。

例如,要知道区域 R1 中的国家总数,它将是 3、R2 = 6、R3 = 5、R4 = 2、R5 = 5 和 R6 = 4、

如果我们有区域内面积大于 R1 到 R6 的文档,则会为该区域汇总国家/地区面积。

 我们可以以条形图、折线图、饼图等形式可视化我们拥有的数据。在本章中,我们将了解如何创建可视化。 创建可视化转到 Kibana Visualization,如下所示:我们没有创建任何可视化,所以 ...