【问题标题】:How does OpenTSDB downsample dataOpenTSDB 如何对数据进行下采样
【发布时间】:2013-09-13 22:10:18
【问题描述】:

我有一个关于 OpenTSDB 下采样的 2 部分问题。

首先是我想知道是否有人知道OpenTSDB在计算下采样时是否采用最后一个端点包含或不包含,或者它是否计算了两次结束数据点?

例如,如果我的时间间隔是下午 12:30 到下午 1:30,我从下午 12:29:44 开始每 5 分钟获取一次 DP,并且我的下采样间隔是每 10 分钟求和一次,那么系统是否会从12:30-12:39 和它们相加,12:40-12:49 和它们相加,等等,还是从 12:30-12:40 开始,然后从 12:40-12:50 开始,等等。是的,我知道我的数据延迟了 15 秒,但我无法控制。

我尝试手动计算,但我拥有的数据对我没有帮助。我计算的数字与上述数字不符,也不符合图表显示的内容。我无权访问将数字推送到 OpenTSDB 的系统,因此我无法设置要检查的虚拟数据。

第二个问题是下采样如何根据我的时间范围和下采样间隔在图表上绘制其点?我将下采样设置为总和 10 分钟块。我将范围设置为下午 12:30 到下午 1:30。该图显示了从下午 12:35 开始的下采样图的第一个点。这是合乎逻辑的。
我将范围更改为 12:24 pm-1:29 pm,并预计第一个点从 12:30 开始,但显示的第一个点是 12:25 pm。

希望有人可以为我回答这些问题。与此同时,我将继续尝试在我的系统中找到一些数据,以帮助展示/证明下采样应该如何工作。

提前感谢您的帮助。

【问题讨论】:

    标签: monitoring downsampling opentsdb


    【解决方案1】:

    下采样目前未按您预期的方式工作,但由于这是一个合理且普遍的预期,我们正在考虑在更高版本的 OpenTSDB 中对此进行更改。

    您假设如果您要求“10 分钟总和”,则数据点将在每个“轮”(或“对齐”)10 分钟块(例如 12:30-12:39 然后在您的示例中为 12:40-12:49),但事实并非如此。发生的情况是代码将从它找到的第一个数据点开始一个 10 分钟的块。因此,如果第一个时间是 12:29:44,那么代码会将所有后续数据点相加,直到 600 秒后,这意味着直到 12:39:44。

    在每 600 秒的块内,可能有不同数量的数据点。一些块可能比其他块具有更多的数据点。某些块可能具有不均匀间隔的数据点,例如在 600s 块开始时,所有数据点可能都在 1 秒内。因此,为了决定下采样操作会产生什么时间戳,代码使用了该块的所有数据点的平均时间戳。

    因此,如果您的所有数据点在整个 600 秒块中均匀分布,则平均时间戳将落在该块中间的某个位置。但是,如果你有,比如说,所有数据点在 600 秒块开始时都在 1 秒之内,那么返回的时间戳将通过平均值来反映这一点。为了清楚起见,无论您选择什么下采样函数(sum、min、max、average 等),代码都会取时间戳的平均值。

    如果您想在不写入生产系统的情况下快速试验 OpenTSDB,请考虑设置单节点 OpenTSDB 实例。正如getting started guide 所示,这很容易做到。

    【讨论】:

    • 我认为对齐和的问题在这里解决了github.com/OpenTSDB/opentsdb/pull/325。 @tsuna,你能检查一下吗
    • 最新版还是这样吗?根据上面的评论(和拉取请求),该问题自 2.1.0 以来已得到修复。我应该提出免责声明吗?
    猜你喜欢
    • 1970-01-01
    • 2021-01-20
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多