Logstash 如果字段包含值,则记录日志

Logstash 如果字段包含值,则记录日志,logstash,logstash-grok,Logstash,Logstash Grok,我正在使用Filebeat将日志转发到Logstash。 我的文件名中包含“v2”,例如: C:\logs\Engine\v2.latest.log 我想对这些文件执行不同的检查。 我尝试了以下两种方法: filter{ if "v2" in [filename] { grok { ..... ..... } } } 或 我的问题是“Filename”字段是在过滤器之后生成的。所以我的语法是

我正在使用Filebeat将日志转发到Logstash。 我的文件名中包含“v2”,例如:

C:\logs\Engine\v2.latest.log

我想对这些文件执行不同的检查。 我尝试了以下两种方法:

filter{
   if "v2" in [filename] {
          grok {
            .....
            .....
          }

   }
 }


我的问题是“Filename”字段是在过滤器之后生成的。所以我的语法是正确的,但它根本没有捕获任何东西,因为它不存在。但是,从版本6.7开始,他们添加了一个“log.file.path”字段,这是我以前生成的“Filename”字段

    filter{
           if [filename] =~ /v2/ {
                  grok {
                    .....
                    .....
                  }

           }
     }