2

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

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

例如,如果我的时间间隔是下午 12:30 到下午 1:30,并且我从下午 12:29:44 开始每 5 分钟获取一次 DP,并且我的下采样间隔是每 10 分钟求和一次,那么系统是否从 12:30 开始获取 DP -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。

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

在此先感谢您的帮助。

4

1 回答 1

10

下采样目前没有按照您期望的方式工作,尽管由于这是一个合理且普遍的预期,我们正在考虑在 OpenTSDB 的后续版本中更改它。

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

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

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

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

于 2013-09-14T05:34:05.733 回答