我正在录制一些系列文件,例如 memory_used ,其中有几个客户端使用Influxdb-java客户端进入InfluxDB数据库。数据如下所示:
1449433668 19292838 client=clientA
1449433999 24448880 client=clientB
我可以使用grafana轻松绘制按标签分组的内存使用情况,但是我找不到总结所有客户端总内存消耗的方法。当使用avg(memory_used)或sum(memory_used)时,值会变大并且波动。我认为这是因为根据报告的时间间隔(不完全相同),可能会对同一客户端的值进行多次求和。
在这种情况下,如何总结内存消耗总量?我应该将我的客户编码为例如。总是每隔5秒报告一次值并截断毫秒数?
答案 0 :(得分:0)
您需要用sum()包装查询,然后按客户分组。例如:
SELECT SUM("memory_used") FROM (
SELECT mean("memory") AS "memory_used"
FROM "clients"."autogen"."memory"
WHERE time > now() - 1h
AND (“client"='clientA' OR "client"='clientA')
GROUP BY time(:interval:), "client" FILL(null)
) GROUP BY time(:interval:)