Opentsdb 2.4版本新增了Rollup和pre-aggregator功能,在内外网搜索相关的文章除了官方文档及其翻译外资料甚少,而官方文档也非常粗略,使用中着实遇到了不少困难,现在记录一下。
功能介绍
TSDB的设计是存储全部频率的原始数据,这样在很广的时间范围内进行聚合查询通常会花费大量的时间才能完成,甚至会因为内存溢出异常而杀死TSDB。如一个opentsdb表记录4个节点每500ms的温度,当需要查看一个月的温度曲线时,query就会非常慢。
假设待存数据有如下metric和tag:
Series ID |
Metric |
Tag |
Tag 2 |
ts1 |
Signal |
node=A1 |
Name=temperature |
ts2 |
Signal |
node=B1 |
Name=temperature |
ts3 |
Signal |
node=B2 |
Name=temperature |
ts4 |
Signal |
node=A2 |
Name=temperature |
每500ms发送一包数据,假设某小时内温度数据如下
Series ID |
12:00:00 |
+0.5 |
+1.0 |
+1.5 |
+2.0 |
+2.5 |
+3.0 |
…… |
+3599.5 |
ts1 |
13 |