在kibana 3查询的Foward斜线

我试图添加一个匹配以斜线结尾的请求的查询,如下所示:

nnnn - - [16/Oct/2013:16:40:41 +0100] "GET / HTTP/1.1" 200 25058 "-" "Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53" 

我正在使用Lucene查询types。

如果我的查询设置为* ,我看到事件。

如果我将其设置为request:"css" ,我会看到CSS请求,如预期的那样。

但是,以下所有情况都不会产生任何结果:

  • request:"/"
  • request:"\/"
  • request:"\\/"

我尝试了一个Lucene的正则expression式,没有运气:

  • request:/\//

我注意到别人正在看似乎是类似的问题,虽然这是关于Kibana 2的: https : //github.com/rashidkpc/Kibana/issues/401

如何查询以/字符结尾的请求?

你定义了什么映射?

根据您在[请求]字段中定义的映射,斜线“/”可能不存储在elasticsearch索引中。

如果为[请求]字段添加一个术语面板到kibana,您是否看到完整的请求值,或者您是否将这些值分解为关键字/术语?

我已经设法解决我的问题,通过添加一个字段之前logging输出到elasticsearch。

在我的indexer.conf文件中,我添加了这个代码:

 filter { if [request] =~ /\/$/ { mutate { add_field => { 'file_type' => 'html' } } } } 

我现在可以用查询file_type:"html"来选出我感兴趣的logging。

这实际上可能是一个更好的方法,因为在这里有使用领先的通配符的警告:

在一个单词的开头(如“* ing”)允许使用通配符尤其重要,因为索引中的所有术语都需要检查,以防万一匹配。

来源: http : //www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#_wildcards

所以,我可能会添加图片,JavaScript,CSS等testing。

使用括号。*对我来说工作正常。

request.raw:/(.*)\//

它返回所有以/结尾的url。