如何获取kairosdb数据库的开始时间和结束时间?

How to obtain the start time and end time of a kairosdb database?

我在 KairosDB 中有一组传感器数据。查询数据需要开始时间和结束时间。

现在,我的问题是如何知道整个数据库的开始时间和结束时间?

还有,如何知道每个metric的开始时间和结束时间?

有基本相同的问题缠绕着我的头。

据我所知,没有直接的选择。

作为一种代价高昂的解决方法(就为此花费的 CPU 时间而言代价高昂。)可以像

一样查询数据
{
    "metrics": [
        {
            "tags": {
                "aggr": [
                    "yourDataPointTags_1"
                ]
            },
            "name": "yourMetric_1",
            "aggregators": [
                {
                    "name": "first",
                    "align_sampling": true,
                    "sampling": {
                        "value": "1",
                        "unit": "months"
                    }
                },
                {
                    "name": "last",
                    "align_sampling": true,
                    "sampling": {
                        "value": "1",
                        "unit": "months"
                    }
                }
            ]
        }
    ],
    "cache_time": 0,
    "start_relative": {
        "value": "5",
        "unit": "years"
    }
}

通过这样的查询,您可以获得每个月的第一个和最后一个数据点。

所以在结果中,第一个条目时间戳是传感器数据的第一个数据点,最后一个是最后一个现有数据点。

但请注意,这只是过去 5 年的查询。对于 kairosDB 来说,这是一个巨大的问题,因为对于像这样的查询,所有的数据点都被处理了。

所以基本上您有责任为每个指标存储信息 [begin, end]。