MySQL+Grafana如何计算$__interval间隔内条目数替换LAG固定偏移量
机器网络使用量计算问题
我需要计算各机器的网络数据使用量,所有机器每分钟上报一次累计使用量数据。我目前编写的查询可以计算最新条目与约24小时前条目的差值,但随着系统数量变化,该计算的偏移基准也会变动。
现有查询代码如下:
SELECT time AS "time", machine_id, ABS ( utilisation - LAG(utilisation,2160) OVER ( PARTITION BY machine_id ORDER BY time)) as DataUsed FROM hardware WHERE $__unixEpochFilter(time) AND component = 'network' ORDER BY time
我需要将LAG函数的偏移量参数2160替换为Grafana仪表盘定义的$__interval时间间隔内的条目总数。我尝试编写了如下查询统计对应间隔内的条目数:
SELECT $__unixEpochGroupAlias(time,$__interval), count(utilisation) AS "count" FROM hardware WHERE $__unixEpochFilter(time) AND component = 'network' GROUP BY 1 ORDER BY $__unixEpochGroup(time,$__interval)
但上述查询并未按照我的预期返回对应时间跨度内的条目数量,我目前无法找到问题所在。
另外我测试的两个查询如下:
查询A
SELECT time AS "time", machine_id, utilisation - LAG(utilisation,88) OVER ( PARTITION BY machine_id ORDER BY time) as DataUsed FROM hardware WHERE $__unixEpochFilter(time) AND component = 'network' ORDER BY time
查询B
SELECT machine_id, count(utilisation) AS N FROM hardware WHERE $__unixEpochFilter(time) AND component = "network" GROUP BY machine_id
内容的提问来源于stack exchange,提问作者etherion
相关产品推荐
相关产品推荐

