Graphite - 多档案级别检索问题

时间:2013-03-14 08:45:11

标签: metrics graphite statsd ganglia

我使用以下保留设置配置了我的文件:

retentions = 10s:7d,1m:30d,5m:1y 

这确实有效,但我的问题是网络应用程序决定从较低的存档而不是较高的存档获取数据。 例如: 由于我每周有10秒的分辨率,我希望如果我在不到1周的时间内查看(在我的情况下我只是查看数据1天),那么数据将从第一级检索(这是精确到10秒),但是网络应用程序从下一级别提取数据,因此我得到平均数据。

我在文档中找到了这个:

“检索数据(按时间范围确定范围)时,将使用可以满足整个时间段的第一个存档。如果时间段与存档边界重叠,则分辨率较低存档因为数据的分辨率在整个返回的系列中是一致的,所以在检索数据时允许更简单的行为。“

如何让石墨从最高分辨率的存档中获取数据? 我的意图是高分辨率为1周(10秒),下一级为30天,1分钟分辨率。

有没有办法实现这一点,或者可能重新配置我的存储架构?

2 个答案:

答案 0 :(得分:2)

经过进一步调查后,我发现了问题。

当我通过“Fetch”命令直接查询Whisper时,它确实从预期的较高级别获得了值。当我使用渲染API时,它也按预期工作,但是当我使用web-app图形(或带有SVG格式的API)时,它对图形进行了一些平滑处理,导致它出现松动峰值。当我在这段时间内进行了一些深入研究(2小时分辨率)时,我才能看到那些尖峰。

解决方案是为每个图形使用 minXStep 属性并将其设置为0(0.1也将足够好)。如果您使用渲染API,只需使用minXStep属性(默认值为1),如果使用Dashboards区域,请转到“渲染选项” - > “X轴” - > “点宽度合并阈值”并将其设置为低于1的值。

有关详细信息,请参阅http://graphite.readthedocs.org/en/latest/render_api.html#minxstep

答案 1 :(得分:0)

很高兴看到你解决了你的问题。我会发布我 给出的答案,因为它可能对其他人有用(尽管听起来不像你的情况)。

通常情况下,你今天要找一小时,你会得到你想要的精确分辨率,但是如果你在两周前看一小时,你会得到更粗糙的分辨率,因为所有石墨都可用。当您查看超出保留策略边界的日期范围时,您还可以找到它选择较粗糙的分辨率。在你的情况下,如果你看过去8天你获得1米的分辨率,因为即使它的大多数的分辨率为10分,它在第8天只有1米的分辨率,所以它使用1米分辨率来处理所有事情。