我正在使用ELK从我的日志文件创建 Jmeter 板。我有一个日志文件,其中的条目包含一个ID值和一个“成功”/“失败”值,显示具有给定ID的操作是成功还是失败。每个操作/ID可以失败无限次,最多成功一次。在我的Kibana Jmeter 板中,我希望显示每个操作ID具有“失败”值的日志条目的计数。但我想过滤掉ID存在“成功”日志条目的情况。也就是说,我只对从未成功的操作感兴趣。有什么技巧可以实现这一点吗?
fkvaft9z1#
这在Kibana 5搜索栏中很容易。只需添加一个过滤器
!(_exists_:"your_variable")
您可以切换筛选器或将反向查询编写为
_exists_:"your_variable"
在Kibana 4和Kibana 3中,您可以使用现在已弃用的此查询
_missing_:"your_variable"
_exists_:FIELD
zwghvu4y2#
在较新的ELK版本中(我认为在Elasticsearch 6之后),您应该使用field:*来检查字段是否存在,使用not field:*来检查字段是否丢失。elastic search reference: https://www.elastic.co/guide/en/elasticsearch/reference/6.5/query-dsl-query-string-query.html#_wildcards
field:*
not field:*
56lgkhnf3#
! (_exists_:NAME)对我不起作用。我使用来自以下方面的建议:https://discuss.elastic.co/t/kibana-5-0-0--missing--is-not-working-anymore/64336
! (_exists_:NAME)
NOT _exists_:NAME
NOT _exists_:FIELD !_exists_:FIELD -_exists_:FIELD
检查教程:https://www.timroes.de/2016/05/29/elasticsearch-kibana-queries-in-depth-tutorial/
js81xvg64#
在较新版本的Kibana中,默认语言现在是KQL(Kibana查询语言),而不是Lucene。所以这里的大多数答案都已经过时了。如果字段存在,查询如下:
your_variable:*
回答你的问题,你可以直接否定它:
not your_variable:*
您可以在此处找到更多文档:https://www.elastic.co/guide/en/kibana/7.15/kuery-query.html如果您单击搜索字段中的按钮,也可以切换回Lucene,但在我看来,新语言更容易使用:
9gm1akwq5#
一个选择是在Kibana中为这个条件创建一个自己的查询。然后让你的面板只为使用这个查询而进行计数。
value:failure
More information here: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax
5条答案
按热度按时间fkvaft9z1#
这在Kibana 5搜索栏中很容易。只需添加一个过滤器
您可以切换筛选器或将反向查询编写为
在Kibana 4和Kibana 3中,您可以使用现在已弃用的此查询
_exists_:FIELD
等语法是Lucene语法,您需要相应地设置下拉菜单。zwghvu4y2#
在较新的ELK版本中(我认为在Elasticsearch 6之后),您应该使用
field:*
来检查字段是否存在,使用not field:*
来检查字段是否丢失。elastic search reference: https://www.elastic.co/guide/en/elasticsearch/reference/6.5/query-dsl-query-string-query.html#_wildcards
56lgkhnf3#
! (_exists_:NAME)
对我不起作用。我使用来自以下方面的建议:https://discuss.elastic.co/t/kibana-5-0-0--missing--is-not-working-anymore/64336
检查教程:https://www.timroes.de/2016/05/29/elasticsearch-kibana-queries-in-depth-tutorial/
_exists_:FIELD
等语法是Lucene语法,您需要相应地设置下拉菜单。js81xvg64#
在较新版本的Kibana中,默认语言现在是KQL(Kibana查询语言),而不是Lucene。所以这里的大多数答案都已经过时了。如果字段存在,查询如下:
回答你的问题,你可以直接否定它:
您可以在此处找到更多文档:https://www.elastic.co/guide/en/kibana/7.15/kuery-query.html
如果您单击搜索字段中的按钮,也可以切换回Lucene,但在我看来,新语言更容易使用:
9gm1akwq5#
一个选择是在Kibana中为这个条件创建一个自己的查询。然后让你的面板只为使用这个查询而进行计数。
More information here: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax