我正在将诸如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 秒报告一次值并截断毫秒?
您需要使用 sum() 并按客户端分组来包装查询。例如:
\n\nSELECT 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
归档时间: |
|
查看次数: |
2282 次 |
最近记录: |