2

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

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

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

我在文档中找到了这个:

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

我怎样才能让石墨从最高分辨率的档案中获取数据?我的意图是在 1 周(10 秒)内获得高分辨率,而下一个级别是 30 天,以获得 1 分钟的分辨率。

有没有办法实现这一点,或者重新配置我的存储模式?

4

2 回答 2

2

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

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

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

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

于 2013-03-15T15:22:38.917 回答
0

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

通常会发生的情况是,例如,您今天寻找一个小时,并且您获得了预期的精细分辨率,但是如果您在两周前寻找一个小时,您会获得较粗略的分辨率,因为这就是 Graphite 可用的全部。当您查看超出保留策略边界的日期范围时,您还可以发现它选择了较粗略的分辨率。在您的情况下,如果您查看过去 8 天的分辨率,您会得到 1m 的分辨率,因为即使它在大多数情况下都具有 10s 的分辨率,但它在第 8 天只有 1m 的分辨率,因此它对所有内容都使用 1m 分辨率.

于 2013-03-26T15:53:01.280 回答