保留策略了解 Graphite DB

Retentions policy understand fro Graphite DB

我在 storage-schemas.conf 文件

中提到了以下保留政策
[metrics]
pattern = ^metrics.api.*
retentions = 10s:5m,1m:1d,1h:30d,1d:1y,30d:10y

以下是我的理解 此策略 运行s 适用于以 metrics.api*

开头的匹配模式

1st: 10s:5m -> 在 10s 插入 1 次或多次记录然后它将获取最新记录并维护 1 个数据点,直到 5 分钟它维护历史假设在 5m 中为指标键添加了 5 个数据点。

2nd:1m:1d -> 这一秒 运行 在相同指标键的 5 分钟结束后,在 1m 处插入 1 次或更多次记录然后它会获取最新记录并维护 1 个数据点,直到 1d 它维护历史假设在 1d 中为指标键添加了 15 个数据点。

所以我的问题是这 2 次保留会发生什么情况,平均第 1 次 5+15/2= 10 会发生什么?并从第一和第二租约中得到一个平均数据点

--- 可以存储 10 年的数据

能否解释一下上述保留政策

aggregationMethod 将在切换边界时应用于此保留策略。 首次保留 - 10s:5m 表示 Graphite 将在存档 0.

中存储 30 个数据点(最后 5 分钟每 10 秒一次)

请注意,即使没有数据到达,它也会始终存储这些数据点。在那种情况下,Graphite 将在那里放置 NULL。

然后next retention - 1m:1d意味着每分钟whisper将从archive 0中取出这10s数据点中的6个,应用average()函数并将它们存储在archive 1中。 但请注意,只有在存档 0 中至少有 3 个(数据点数 - 6 乘以 xFilesFactor = 0.5)或更多点具有值(即非 NULL)时,Whisper 才会这样做。否则 Whisper 决定它没有足够的数据来传播并也使用 NULL 代替。

等等 - 第三次保留 1h:30d 意味着来自存档 1 的 60 个数据点将使用平均函数聚合并传播到存档 2,但前提是其中至少 30 个数据点具有价值,等等