Logstash 如果字段包含值

Logstash if field contains value

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

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

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

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

   }
 }

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

           }
     }

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