Grepping rails登录logstash,贪婪捕获所有请求

时间:2014-04-22 07:46:44

标签: regex logstash

我在logstash多行过滤器中有这样的模式:

filter {
  multiline {
    pattern => "^Started.*ActiveRecord: ([0-9]+\.[0-9]{1})ms\).+?"
    negate => true
    what => "previous"
    stream_identity => "%{host}.%{path}.%{type}"
  }
}

但问题是这个表达式捕获所有rails请求,直到日志文件结束。如何判断此表达式在第一场比赛时停止?

2 个答案:

答案 0 :(得分:0)

请改为尝试:

^Started.*?ActiveRecord: ([0-9]+\.[0-9]{1})ms\).*?$

答案 1 :(得分:0)

试试这个

break_on_match => true

来源:http://blog.mmlac.com/how-to-pre-process-logs-with-logstash/