我在使用logstash的时候,为了更细致的切割日志,会写一些正则表达式。

使用方法

input {
   file {
                type => "billin"
                path => "/data/logs/product/result.log"
        }
}
filter  {
    grok    {
        type => "billin"
        pattern => "%{BILLINCENTER}"
        patterns_dir => "/data/logstash/patterns/my_patterns"
        }  
    }
output  {
redis   {
               host => "192.168.50.13"
               data_type =>"list"
               key => "logstash:redis"
    }
}


以下内容为正则表达式文件:cat my_patterns


TAB \t
META \-+
WZ ([^ ]*)
IPPORT %{IP}:%{POSINT}|%{META}
REQUEST (?:/[A-Za-z0-9$.+!*'(),~:#%_-]*)+\?[A-Za-z0-9$.+!*'(),~#%&/=:;_-]*
TY (?:(?