我在InfluxDB中有一些数据是连接某些TCP连接的事件。所以测量是connection_events,标签是:连接系统的mac_address,以及一些其他元数据。值只是connected = true | false
我想做的是这样的事情:
select count(mac_address), mac_address
from connection_events
where count(mac_address) > X
group by mac_address
换句话说,我希望看到如下结果:
28,ABCD
14,EFGH
3,XYZQ
然而,InfluxDB不喜欢这种查询。我无法弄清楚如何解析连接事件的数据集并通过mac地址聚合它们。
答案 0 :(得分:4)
InfluxQL中的函数在SELECT
子句之外无效,并且还没有子查询或HAVING
子句。
但是,您可以使用Continuous Queries
完成所需操作使用CQ计算count(mac_address)
并将其存储在新测量foo
中。 CREATE CQ... SELECT COUNT(mac_address) AS count INTO foo FROM connection_events GROUP BY time(5m), *
然后,对于您的图表,您可以查询select count from foo where count > X group by mac_address
。