在Grafana-XDB数据源中将计数(null)设为零

在Grafana-XDB数据源中将计数(null)设为零,grafana,influxdb,Grafana,Influxdb,当应用计数的结果为空时,是否可以将计数的值设置为零 SELECT count(status) FROM ( SELECT last("P-status") AS "status" FROM "autogen"."Pl" WHERE ("Platform" = 'Database-plat' AND "P-status" = 'ERROR') AND time >= now() - 1m GROUP BY time(500ms), "Node" fill(0) ) 在这种情况下,如果内部

当应用计数的结果为空时,是否可以将计数的值设置为零

SELECT count(status) FROM ( SELECT last("P-status") AS "status" FROM "autogen"."Pl" WHERE ("Platform" = 'Database-plat' AND "P-status" = 'ERROR') AND time >= now() - 1m GROUP BY time(500ms), "Node" fill(0) ) 
在这种情况下,如果内部查询返回null(对于所有节点),count不会给出任何值,因为fill将被忽略。我需要值为零,这样如果我必须对返回的结果执行任何其他操作,就可以完成


如果可能的话,怎么做?

我知道这是一个老问题,但由于它仍然非常相关,而且我已经为这个问题奋斗了一年多,根据我的研究,我想就这个问题的现状回答这个未回答的问题:

Github提出了问题,并暗示该问题自2016年以来就为人所知,但贡献者并未真正将其理解为一个问题,因为实现的理由有问题(比如“它不是一个bug,它是一个特性,因为多个系列的模糊性”)这可以很容易地用独特系列标识的特殊规则来回答,但尽管用户社区对此非常感兴趣,但已经没有太多活动了。另一点是,他们已经发布了版本2.x,它更多地依赖于他们新的查询语言(Flux),因此他们很可能或多或少地放弃了InfluxQL的1.x分支(可能除了2.x中的QL向后兼容性和一些小的更新,不确定)

与此同时,我对Grafana进行了几次更新,但出于几个原因,我不得不坚持使用InfluxDB 1.x,并且通量支持在某个时候发生了变化(不推荐的通量插件,但标准InfluxDB插件中包含了通量,但后者并不真正起作用),因此Grafana中的通量在一段时间内基本上不再起作用。我希望能更好地处理那里的计数问题,但现在我在可靠地计算XDB中的任何内容方面运气不佳。我甚至用
sum()


这很不令人满意,但似乎没有一种方法可以实现“急切”的目标,即在没有臃肿的查询系统、过度使用奇怪的规则、虚拟值以及任何查询可能在任何时间中断或只需要查询特定时间段时中断的不安全的情况下计算数据点(任何虚拟值解决方案可能不起作用).关于优先考虑的问题,这在不久的将来可能不会确定。

我知道这是一个老问题,但由于它仍然非常相关,而且我已经为这个问题奋斗了一年多,根据我的研究,我想就这个问题的现状回答这个未回答的问题:

Github提出了问题,并暗示该问题自2016年以来就为人所知,但贡献者并未真正将其理解为一个问题,因为实现的理由有问题(比如“它不是一个bug,它是一个特性,因为多个系列的模糊性”)这可以很容易地用独特序列标识的特殊规则来回答,但尽管用户社区对此非常感兴趣,但活动已经不多了。另一点是,他们已经发布了版本2.x,它更依赖于他们新的查询语言(Flux),因此,他们很可能或多或少地实际放弃了使用InfluxQL的1.x分支(可能除了2.x中的QL向后兼容性和一些小的更新,不确定)

同时,我对Grafana进行了几次更新,但出于几个原因,我不得不坚持使用InfluxDB 1.x,并且通量支持在某个时候发生了变化(不推荐使用的通量插件,但标准InfluxDB插件中包含了通量,但后者并不真正起作用),因此Grafana中的Flux现在基本上不再工作了。我希望更好地处理那里的计数问题,但现在我在可靠地计算XDB中的任何内容方面运气不佳。我甚至用
sum()尝试了一些技巧
函数、奇特的分组和伪值,我需要再次提取它们等等,但它总是归结为相同的结论:InfluxDB可以做很多事情,但计数就是不起作用。

这很不令人满意,但似乎没有一种方法可以实现“急切”的目标,即在没有臃肿的查询系统、过度使用奇怪的规则、虚拟值以及任何查询可能在任何时间中断或只需要查询特定时间段时中断的不安全的情况下计算数据点(任何虚拟值解决方案都可能不起作用)。关于给定的优先级,这在不久的将来可能不会固定