filebeat和logstash多行问题

filebeat多行处理

   本人采用以时间开始刚认为是新的一条日志的开始准则来处理多行问题。

   本人的日志格式为:2017-08-07 09:56:04.079 INFO  [default task-37] ......

   核心配置如下:

  multiline.pattern: ^(\d\d){1,2}-(?:0?[1-9]|1[0-2])-(?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])[T ](?:2[0123]|[01]?[0-9]):?(?:[0-5][0-9])(?::?(?:(?:[0-5][0-9]|60)(?:[:.,][0-9]+)?))?(?:Z|[+-](?:2[0123]|[01]?[0-9])(?::?(?:[0-5][0-9])))?
  multiline.negate: true
  multiline.match: after

 

logstash多行处理

   本人采用以时间开始刚认为是新的一条日志的开始准则来处理多行问题。

   本人的日志格式为:2017-08-06 02:36:49.770 ERROR [TTT-4] ......

   核心配置如下:

file {
path => ["/data/logs/application*.log"]
codec => multiline {
pattern => "^(\d\d){1,2}-(?:0?[1-9]|1[0-2])-(?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])[T ](?:2[0123]|[01]?[0-9]):?(?:[0-5][0-9])(?::?(?:(?:[0-5][0-9]|60)(?:[:.,][0-9]+)?))?(?:Z|[+-](?:2[0123]|[01]?[0-9])(?::?(?:[0-5][0-9])))?"
negate => true 
what => "next" 
}

 

 最主要的是制定日志开始的规则,然后正则匹配。

posted @ 2017-09-07 20:09  偶然会成功  阅读(391)  评论(0)    收藏  举报