我使用opentsdb保存我的时间序列数据。在每个数据点输入之前,我必须获得20个数据点的值。但是,我有大量的指标,我不能多次调用查询opentsdb api。如何减少来自openTSDB的查询次数?
发布于 2018-05-03 22:45:12
据我所知,您不能将不同的指标聚合到一个结果中。但我会提出两个解决方案:
http://otsdb:4242/api/query?start=15m-ago&m=avg:metric1{tag1=a}&m=avg:metric2{tag2=b}
您将获得具有相同开始(结束)日期/时间的所有查询的结果。但是,对于多个指标,不要忘记,它将花费更长的时间序列time...
这也是来自OpenTSDB documentation [1]的建议:
基数对查询速度也有很大影响,因此请考虑您将频繁执行的查询,并针对这些查询优化您的命名模式。
因此,我建议使用标签来克服这个多指标的问题。但是正如我前面提到的,我不知道您的模式,但是OpenTSDB在标记方面要强大得多--有很多examples,也有filtering options。
编辑1:
从OpenTSDB 2.3版本开始,还有expression api:http://opentsdb.net/docs/build/html/api_http/query/exp.html
您应该能够同时处理多个指标查询(但我从未将其用于任何查询)。
https://stackoverflow.com/questions/49316909
复制相似问题