Graphite - 如何将数据发送到时间戳超过一年的碳

时间:2015-06-09 19:42:10

标签: graphite whisper graphite-carbon

我正在使用石墨来存储和绘制数据,我想将数据点发送到超过一年的碳守护进程(第一个数据点是2013年12月12日,最后一个是2015年1月12日)但是耳语似乎没有能力(至少,不是我的当前设置)接受超过24小时的值。

每当我将一年以上的指标发送到碳(使用纯文本协议)时,它就会丢弃它们。我可以说,因为当我在* .wsp文件上运行whisper-fetch.py​​时,它会显示过去24小时内的时间戳,所有这些时间戳都没有数据。但是,如果我使用当前时间戳(或过去24小时内的任何时间戳)发送相同的数据(使用相同的协议),它将保留该值,并且当我在* .wsp文件上运行whisper-fetch.py​​时存在该值。

我没有设置任何聚合规则,因为我只对原始数据点感兴趣,而且我的保留设置如下:

[pos]
pattern = ^pos\.
retentions = 1m:2y

据我所知,这将在2分钟内每分钟存储数据点,但无法接受过去的数据点。

是否存在适当的保留,以存储在过去24小时之前有时间戳的历史数据?或者* .config文件中的某个位置是否允许在最后24小时之前导入数据?或者这个“特征”是耳语/碳的限制?

更新

我应该提到我发送的指标格式为:

"pos.amps (data here) (unix timestamp here)"

我尝试了一些不同的保留策略,包括使用旧格式化:

[pos]
pattern = ^pos\.
retentions = 120:500

表示每120秒收集1个数据点并存储500个数据点,但我仍然没有运气。我在这里读到(https://serverfault.com/questions/593157/graphite-shows-none-for-all-data-points-even-though-i-send-it-data),窃窃私语有某种查询期,默认设置为24小时。这是我想改变的价值,但我不知道在哪里改变它!

1 个答案:

答案 0 :(得分:1)

我发现了我的错误,除非另有说明,否则whisper-fetch.py​​的默认时间范围是过去24小时。一个我将调用更改为格式

./whisper-fetch.py --pretty --from=TIMESTAMP --until=TIMESTAMP /path/to/whisper/file.wsp 

一切正常,我的数据就在那里。

另一个有用的提示是使用graphite的URL api来查询数据库并检查数据。以下是一些文档:http://graphite.readthedocs.org/en/latest/render_api.html