Logstash过滤器(如果字段匹配正则表达式不起作用)

迈克尔·德兹

在我的Logstash管道中,如果与正则表达式匹配,我想对字段应用一些操作。例如,我想过滤所有url以开头的字段,JOB:因此在研究之后我想到了以下配置:

filter {
        grok {
            patterns_dir => ["./patterns"]
                  if [url] =~ /^JOB: .*/ {
                       add_field => {
                              "job_type" => "JOB: %{job_type:url}"
                       }
                  }
         }
}

但是运行后service logstash configtest我得到了这个错误:

The given configuration is invalid. Reason: 
Expected one of #, => at line 87, column 7 (byte 3332) after filter {
                        grok {
                                patterns_dir => ["./patterns"]
                                if 

if需要外出的grok过滤器,即它必须围绕着grok

filter {
    if [url] =~ /^JOB: .*/ {
        grok {
            patterns_dir => ["./patterns"]
            match => ["url" => "JOB: %{job_type:job_type}"]
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章