0

试图了解两者之间的区别:聚合器与对齐器。 Docs对我没有帮助。

我想要实现的是获取每个命名空间和容器组合在一周内生成的日志字节数。例如,我想查看命名空间 N 中的容器 C 在过去 7 天内生成了 10Gb 的日志。

这是我走了多远:

Resource type = Kubernetes Container
Metric = Log bytes
Group by = namespace_name and container_name
Aggregator = sum(?) mean(?)
Minimum alignment period = 1(?) 7(?) days
Aligner = sum(?) mean(?)
4

2 回答 2

0

我对此感到困惑,直到我意识到一个指标,例如kubernetes.io/container/cpu/core_usage_time在我的集群中的多个不同资源中可用。

因此,当您搜索该指标时,您将获得大量发出该指标的不同资源。聚合是将来自这些不同资源的所有数据与相同的度量相加。

这一切都组合成该指标的一个“时间序列”,即来自每个不同资源的所有单独时间序列的聚合。

现在,对齐是使用该时间序列并将所有数据点放入一个函数(在一段时间内,称为对齐周期)的过程,这会产生一个数据点(每个对齐周期)

因此,聚合将跨多个资源的相同指标组合在一起,而对齐将同一时间序列中的多个数据点组合成一个数据点(每个对齐周期,这就是使用对齐时需要该字段的原因)。

于 2022-01-28T20:56:22.620 回答
0

聚合器:

如果您想减少为某个指标返回的数据量,您可以通过组合不同的时间序列来实现。要组合多个时间序列,您通常会指定一个分组和一个函数。分组由标签值完成。该函数定义如何将组内的所有时间序列数据组合成一个新的时间序列。

聚合器确定如何将具有相同标签值的时间序列组合成单个时间序列。该图表为 Group by 文本框中列出的每个标签值显示一个时间序列。

如果您按多个标签分组,则聚合器会组合那些对指定标签具有相同值的时间序列。

如果您未指定分组选项并指定聚合器,则该函数将应用于所有选定的时间序列并生成单个时间序列。

例如,如果Group by字段设置为 user_labels.version 并且聚合器设置为 sum,则标签 user_labels.version 的每个值都有一个时间序列。每个时间序列中的数据点是根据特定版本的各个时间序列的所有值的总和计算得出的。

对准器:

对齐是将 Monitoring 接收到的时间序列数据转换为具有固定间隔数据点的新时间序列的过程。对齐的过程包括收集在固定时间长度内接收到的所有数据点,应用一个函数来组合这些数据点,并为结果分配一个时间戳。该函数可能会计算所有样本的平均值,也可能会提取所有样本的最大值。

Aligner字段指定用于组合对齐周期中所有数据点的函数。大多数对准器执行常见的数学函数。例如,如果您选择 min,则对齐的数据点是对齐周期内所有数据点的最小值。一些对齐器执行更复杂的操作:

  • Next old : 用于仅保留对齐周期内的最新样本。

  • Percentile:用于在折线图、堆积面积图或堆积条形图的绘图类型上显示分布度量。

  • Delta:用于将累积度量或增量度量
    转换为每个对齐周期一个样本的增量度量。

  • Rate:用于将累积或增量度量转换为仪表度量。

您可以查看聚合器和对齐器以获取更多信息。

日志字节:

命名空间相关的日志我们可以在特定的存储类型中下沉。接收器控制 Cloud Logging 如何路由日志。您通常可以在 Cloud 项目级别创建接收器,但如果您想要组合和路由来自 Google Cloud 组织或文件夹包含的资源的日志,您可以创建聚合接收器

无法检查一周的日志大小,但您可以通过查看存储大小来获取一个月的日志大小,因为用户定义的日志有 30 天的保留期。

于 2021-11-15T18:25:18.840 回答