Kibana - 聚合和指标

在学习 Kibana 期间,您经常遇到的两个术语是 Bucket 和指标聚合。本章讨论它们在 Kibana 中的作用以及有关它们的更多详细信息。

什么是 Kibana 聚合?

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

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

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

  • 存储桶聚合
  • 度量聚合

存储桶聚合

存储桶主要由一个键和一个文档组成。执行聚合时,文档将放置在相应的存储桶中。所以最后你应该有一个存储桶列表,每个存储桶都有一个文档列表。在 Kibana 中创建可视化时,您将看到的 Bucket Aggregation 列表如下所示 −

Bucket Aggregation

Bucket Aggregation 具有以下列表 −

  • 日期直方图
  • 日期范围
  • 过滤器
  • 直方图
  • IPv4 范围
  • 范围
  • 重要术语
  • 术语

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

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

假设我们需要按地区划分的数据。然后,每个地区可用的国家将成为我们的搜索查询,因此在这种情况下,地区将形成我们的存储桶。下面的框图显示 R1、R2、R3、R4、R5 和 R6 是我们得到的存储桶,而 c1、c2 ..c25 是属于存储桶 R1 至 R6 的文档列表。

Block Diagram Aggregation

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

因此,通过存储桶聚合,我们可以将文档聚合到存储桶中,并在这些存储桶中获得文档列表,如上所示。

到目前为止,我们拥有的存储桶聚合列表是 −

  • 日期直方图
  • 日期范围
  • 过滤器
  • 直方图
  • IPv4 范围
  • 范围
  • 重要术语
  • 术语

现在让我们详细讨论如何逐一形成这些存储桶。

日期直方图

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

日期直方图

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

选择间隔直方图

因此,所选索引中的文档以及基于所选字段和间隔的文档将按存储桶分类。例如,如果您选择间隔为每月,则基于日期的文档将转换为存储桶,并基于月份(即 1 月至 12 月)将文档放入存储桶中。此处,Jan、Feb、..Dec 将成为存储桶。

日期范围

您需要一个日期字段才能使用此聚合类型。此处我们将有一个日期范围,即给出起始日期和截止日期。存储桶将根据给定的表单和截止日期拥有其文档。

日期范围

过滤器

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

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

Filters

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

直方图

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

Histogram

IPv4 范围

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

IPv4 范围

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

范围

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

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

重要术语

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

重要术语

术语

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

术语

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

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

指标聚合

指标聚合主要是指对存储桶中存在的文档进行的数学计算。例如,如果您选择一个数字字段,您可以对其执行的指标计算是 COUNT、SUM、MIN、MAX、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。这里文档的值可以是任何值,例如,如果您考虑国家/地区数据,它可能是该地区国家/地区的面积。

计数

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

最大值

这将给出存储桶中存在的文档的最大值。考虑上述示例,如果我们在区域存储桶中有按区域划分的国家/地区数据。每个区域的最大值将是面积最大的国家/地区。因此,每个区域将有一个国家/地区,即 R1 至 R6。

这将给出存储桶中存在的文档的最小值。考虑上述示例,如果我们在区域存储桶中有按区域划分的国家/地区数据。每个区域的最小值将是面积最小的国家/地区。因此,每个区域将有一个国家/地区,即 R1 至 R6。

总和

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

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

如果我们有该地区面积的文档,那么 R1 到 R6 将按该地区的国家/地区汇总面积。