从Grafana的InfluxDB中获取两个系列的数据

时间:2015-11-30 11:21:54

标签: metrics influxdb statsd grafana

我在这一点上感到困惑。我在Influx和Grafana的深处花了一两天的时间来绘制一些对我的需求至关重要的图表。但是,对于最后一个,我需要总计两个指标(两个增量计数,列值)。我们称之为notifications.one和notifications.two。在图中我希望它们显示出来,它可以很好地作为两个图形线的总和,显示(notifications.one + notifications.two)而不是两个单独的图形。

我尝试了通常SELECT sum(value) from这两个,但我没有得到任何数据(确实存在!)。在Influx的文档中也提到了merge(),但我也无法使用它。

合并文档需要以下内容:

SELECT mean(value) FROM /notifications.*/ WHERE ...

这也是一个扁平的零线。

我希望我的问题有一定的重要性,因为我的知识远远不够,无法尽可能地传达问题。

谢谢。

3 个答案:

答案 0 :(得分:12)

使用InfluxDB 0.12 ,您可以写:

SELECT MEAN(usage_system) + MEAN(usage_user) + MEAN(usage_irq) AS cpu_total 
  FROM cpu
  WHERE time > now() - 10s 
  GROUP BY host;

这些功能尚未真正记录,但您可以查看支持的mathematical operators

答案 1 :(得分:4)

在InfluxDB 0.9中,无法跨测量合并查询结果。在测量中,默认情况下会合并所有系列,但不能跨测量合并任何系列。有关详细信息,请参阅https://influxdb.com/docs/v0.9/concepts/08_vs_09.html#joins

0.9的更好模式不是两个衡量标准:notifications.onenotifications.two,只有一个衡量notifications foo=onefoo=two作为标记单一测量。然后,对合并值的查询仅为SELECT MEAN(value) FROM notifications,然后每个系列的查询为SELECT MEAN(value) FROM notifications GROUP BY foo

答案 2 :(得分:1)

我认为根据问题,可以像RDBMS中的嵌套查询一样将查询联合在一起。这可以使用Influxdb中的Continous Queries来实现。该文档清楚地解释了它。 基本上,您需要从其他查询创建查询,然后使用此新创建的查询来获取该系列。

https://docs.influxdata.com/influxdb/v1.1/query_language/continuous_queries/#substituting-for-nested-functions