我在grafana中使用了一个influxql查询,如下所示:
SELECT mean("value") FROM /^concourse\.(worker*|web*).*\.system_mem_percent$/ WHERE $timeFilter GROUP BY time($__interval), * fill(null)这和预期的一样,我只能得到包含worker...或web...的测量结果。
我现在正在尝试构建这个的反向查询。即不包含worker...或web...的所有测量结果。
我需要能够在测量本身上使用正则表达式来做到这一点。(假设没有标签)
这是如何在influxql (influxdb 1.7)中实现的。
发布于 2021-02-11 16:35:40
看起来你在你的regexp中需要负向先行。但是InfluxDB使用Golang’s regular expression syntax,其中不支持负向先行。
您可以使用带有否定字符类的更复杂的正则表达式-请参阅Negative look-ahead in Go regular expressions
但是我会选择更好的InfluxDB设计,并且我会使用标签。也推荐使用https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/#avoid-encoding-data-in-measurement-names方法
https://stackoverflow.com/questions/66148615
复制相似问题