0

我们在指标名称中存储具有内部版本号的指标。这是石墨度量的格式。

latency.<host>.<request>.<buildNumber>.average

上述格式的问题是 buildNumber 不断变化的值,在我们的例子中,它每周都会因为发布周期而变化。这导致每周都会产生新的存储文件(.wsp),并且由于 Whisper 会预先分配空间,因此由于内部版本号的更改,我们从未充分利用过空间。

我知道磁盘空间是廉价资源,但在某些时候我认为我们会有很多未使用的空间。

例如,如果每个指标文件有 10MB 大,并且如果我们发送 5000 个不同的延迟指标,那么对于特定的内部版本号,我们将使用 50GB。现在,如果我们每周发送一个新的内部版本号,那么 1TB 的磁盘空间将在 20 周内被填满,这大约是 5 个月。(1TB = 1000GB)/(50GB 每周)= 20 周

如果我们可以在上个月的一个中汇总多个指标,则可以解决上述问题。是否有任何方法可以指定使用某种聚合方法将多个指标合并为一个的保留策略?

或者有什么办法可以解决石墨中的这种问题?

4

1 回答 1

1

如果你使用 Graphite 的 Ceres 存储引擎而不是 Whisper,你将避免空间预分配的问题。https://github.com/graphite-project/ceres

我不相信您可以在下采样期间将多个指标与指定的聚合合并。但是,您可以通过 aggregation-rules.conf 在摄取点执行此操作。文档可以在这里找到:http: //graphite.readthedocs.org/en/latest/config-carbon.html#aggregation-rules-conf

于 2014-04-08T22:49:02.793 回答