如何获取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]。
我在 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]。