【问题标题】:Graphite - Multi archives level retrieval issueGraphite - 多档案级检索问题
【发布时间】:2013-03-14 08:45:10
【问题描述】:

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

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

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

我在文档中找到了这个:

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

如何让石墨从最高分辨率的存档中获取数据? 我的目的是在 1 周(10 秒)内获得高分辨率,而下一个级别是 30 天,以获得 1 分钟的分辨率。

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

【问题讨论】:

    标签: metrics graphite statsd ganglia


    【解决方案1】:

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

    当我通过“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

    【讨论】:

    • 我没有看到更改默认值的配置选项。默认编码在第 942 行的/opt/graphite/webapp/graphite/render/glyph.py 中。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多