Grafana / Influxdb:不同客户端记录的价值总和

sch*_*ida 5 influxdb grafana

我正在将诸如memory_used 之类的系列与使用 influxdb-java 客户端的几个客户端一起录制到 InfluxDB 数据库中。数据如下所示:

1449433668 19292838 client=clientA
1449433999 24448880 client=clientB
Run Code Online (Sandbox Code Playgroud)

我可以使用 grafana 轻松绘制按标签分组的内存使用情况,但是我找不到一种方法来总结所有客户端的总内存消耗。当使用 avg(memory_used) 或 sum(memory_used) 时,这些值会变大并且会波动。我认为这是因为根据报告的时间间隔(并不完全相同),同一客户端的值可能会被多次相加。

在这种情况下,如何总结总内存消耗?我应该对我的客户进行编码吗?总是每 5 秒报告一次值并截断毫秒?

oor*_*ori 2

您需要使用 sum() 并按客户端分组来包装查询。例如:

\n\n
SELECT SUM("memory_used") FROM ( \n  SELECT mean("memory") AS "memory_used" \n  FROM "clients"."autogen"."memory" \n  WHERE time > now() - 1h \n  AND (\xe2\x80\x9cclient"=\'clientA\' OR "client"=\'clientA\') \n  GROUP BY time(:interval:), "client" FILL(null) \n) GROUP BY time(:interval:)\n
Run Code Online (Sandbox Code Playgroud)\n