1

我想使用 CollectD 收集一些统计信息(关于存储)并让 Graphite 很好地显示它们。显然这可以通过

  1. 让 CollectD 将数据存储为 RRD 文件并将 Graphite 指向这些文件,或者
  2. 使用 CollectD 插件将数据推送到 Graphite 的 Carbon API,后者会将数据存储在 Whisper 数据库中(类似于 RRD,但不兼容)。

我想我想使用 RRD,但我在Whisper 文档中发现了这个与我有关的声明:

在许多情况下(取决于配置),如果对 RRD 系列进行了更新但没有很快跟进另一个更新,则原始更新将丢失。

嗯。这有点吓人,但指控是如此模糊,以至于我不知道该怎么做。他们在谈论什么配置,以及它导致数据丢失的情况?

我的情况是,我收集的度量数据将分块提供——我会定期获取最新数据,并在数据库中输入尽可能多的新样本。因此,例如,我可能会获取一些数据并使用 3 分钟前、2 分钟前和 1 分钟前的值更新数据库,一个接一个。事实上,我一次可能有几十个新样本要放入数据库。以这种方式使用 RRD 是否与 Whisper 的指控有关?

注意:我不需要回填数据;我将始终添加比已经存储的数据更新的数据。

4

1 回答 1

1

我看到这种情况发生的一种情况是,如果您设置了 AVERAGE RRA,并且将 xxf 值设置为较低的百分比。当数据随着时间的推移被压缩时,您可能会收到一个未知值并“松散”所有平均数据。如果您将 RRD 用于其设计用途,并使用正确的类型和设置进行设置,我认为您不会遇到问题。

我建议深入查看在此处找到的 RRD 文档,以回答有关 RRD 和 RRA 如何处理数据以及可供您使用的不同存储技术的问题。

于 2013-04-27T22:59:50.200 回答