我想使用 CollectD 收集一些统计信息(关于存储)并让 Graphite 很好地显示它们。显然这可以通过
- 让 CollectD 将数据存储为 RRD 文件并将 Graphite 指向这些文件,或者
- 使用 CollectD 插件将数据推送到 Graphite 的 Carbon API,后者会将数据存储在 Whisper 数据库中(类似于 RRD,但不兼容)。
我想我想使用 RRD,但我在Whisper 文档中发现了这个与我有关的声明:
在许多情况下(取决于配置),如果对 RRD 系列进行了更新但没有很快跟进另一个更新,则原始更新将丢失。
嗯。这有点吓人,但指控是如此模糊,以至于我不知道该怎么做。他们在谈论什么配置,以及它导致数据丢失的情况?
我的情况是,我收集的度量数据将分块提供——我会定期获取最新数据,并在数据库中输入尽可能多的新样本。因此,例如,我可能会获取一些数据并使用 3 分钟前、2 分钟前和 1 分钟前的值更新数据库,一个接一个。事实上,我一次可能有几十个新样本要放入数据库。以这种方式使用 RRD 是否与 Whisper 的指控有关?
注意:我不需要回填数据;我将始终添加比已经存储的数据更新的数据。