【发布时间】:2016-02-25 19:56:07
【问题描述】:
我正在尝试在查询 opentsdb 时找到一种方法来获取带有数据点的单位。我已经在元数据中保存了度量单位,并且可以使用元数据查询来获取它,但这只会让我运行一个额外的查询来获取它。我想知道是否有办法在我们进行查询 (/api/query) 时从 opentsdb 返回的数据中获取单位。
【问题讨论】:
标签: opentsdb
我正在尝试在查询 opentsdb 时找到一种方法来获取带有数据点的单位。我已经在元数据中保存了度量单位,并且可以使用元数据查询来获取它,但这只会让我运行一个额外的查询来获取它。我想知道是否有办法在我们进行查询 (/api/query) 时从 opentsdb 返回的数据中获取单位。
【问题讨论】:
标签: opentsdb
我认为您想取回您放入 openTSDB 的原始数据。如果是这样,openTSDB 很难做到。 openTSDB 总是聚合相同时间戳的数据点。
如果你真的想要,你可以试试 kariosDB(openTSDB 的一个分支)或者你可以试试 elasticsearch(我认为它可以处理 openTSDB 可以处理的所有事情)
【讨论】:
OpenTSDB 是时间序列数据库,即存储特定时间点的值。
它允许每个时间戳(最小时间间隔:1 秒)和每个行键(metric name, timestamp, tag=val)只放置一个值。
建议 1: 您可以将单位写入/写入标签值,即单位:
当你查询(api/query端点)时,你会得到完整的数据:
<metric name> <time stamp> <the value> tag1=val1 tag2=val2
例如:
db.bytes_sent 1287333217 6604859181710 unit=kB host=db1
db.bytes_received 1287333232 327812421706 unit=Mb host=db1
db.bytes_sent 1287333232 6604901075387 unit=MB host=db1
【讨论】: