Grafana / ElasticSearch 查询:字段等于值或字段不存在



我在Grafana中添加了一个新字段,并希望有以下Lucene查询,当缺少该字段时将忽略该字段:

!_exists_:field OR (_exists_:field AND field:value)

但是,即使是简单的存在或不存在Lucene查询似乎也不起作用,而ElasticSearch确实支持它:!_exists_:field1 OR _exists_:field2https://discuss.elastic.co/t/how-to-do-where-field1-exists-or-field2-does-not-exist/95626

有没有办法通过Lucene查询来做到这一点?带有 AND 的变体工作正常:https://stackoverflow.com/a/50997638/10441689

我想将其用于可能缺少该变量的新模板变量。我正在运行Grafana 5.2/ElasticSearch 5.6.

通过在术语周围加上括号来为我工作:

(!_exists_:field) OR (field:value)

请参阅:不能在 Kibana 6.8.0 搜索栏中将"OR"与"NOT _exist_"一起使用

不确定我是否正确理解了您的问题,但是..

OR的lsv使rsv变得多余。

你试过吗

!field.yourFieldValue:* <-- that will NOT all of them.
!field.yourFieldValue:value <-- that will NOT all with a specific value.

我刚刚尝试了这两种方法,它们都有效。

如果您使用 Kibana,那么当不确定查询时,最好先使用 Kibana Discover,然后将查询复制/粘贴到 Grafana 中。Kibana 将更好地概述日志(也许您会更好地了解查询不起作用的原因(,然后将其粘贴到 Grafana 中,这将仅提供可视化概述。

此链接将为如何进行 Lucene 查询提供很好的指南。

相关内容

最新更新