Influxdb从2次测量中查询值,并使用SUM()获取总值

时间:2017-09-18 16:44:44

标签: influxdb influxdb-python

select SUM(value) 
from /measurment1|measurment2/ 
where time > now() - 60m  and host = 'hostname' limit 2;

姓名:measurment1

time                sum
----                ---
1505749307008583382 4680247

name:measurment2

time                sum
----                ---
1505749307008583382 3004489

但是有可能得到SUM(measurment1 + measurment2)的值,所以我只看到o / p。

1 个答案:

答案 0 :(得分:0)

涌入查询语言不可能。它不支持跨测量的功能。

如果这是你需要的东西,你可能有兴趣在涌入之前对另一个API进行分层,例如Graphite via Influxgraph

对于上述内容,就像这样。

/etc/graphite-api.yaml:

finders:
  - influxgraph.InfluxDBFinder
influxdb:
  db: <your database>
  templates:
    # Produces metric paths like 'measurement1.hostname.value'
    - measurement.host.field*

启动graphite-api / Influxgraph webapp。

然后,对于所有测量,查询/render?from=-60min&target=sum(*.hostname.value)会在标记value上生成host='hostname'的总和。

可以使用

{measurement1,measurement2}.hostname.value将其限制为特定的测量值。

NB - 性能方面(流入量),最好在同一测量中使用多个值,而不是在多次测量中使用相同的值字段名称。