logstash multiline 配置

	
multiline:

这个过滤器已经反对 以取multiline-codec. 

Multiline 首先不是线程安全的, 不能处理多个流的消息

这个过滤器会折叠多行消息从一个单一的源到一个 Logstash event.


这个过滤器的目的是允许串联多行消息从文件到一个单独的事件 。

比如, 串联Java 异常和 stacktrace messages 到一个单独的事件

这个过滤器不能工作当使用多个e worker threads -w 2 在logstash 命令行 

配置看起来像这样:

filter {
  multiline {
    type => "type"
    pattern => "pattern, a regexp"
    negate => boolean
    what => "previous" or "next"
  }
}

 filter {     
 multiline {      
  pattern => "^s+%{TIMESTAMP_ISO8601}"   
  negate=>true     
  what=>"previous"    
  } 
 
 
这个模式pattern 应该是一个正则表达式,匹配你认为是一个只是符,字段是有多行数据组成的一个事件


what 必须是previous 或者next,表明与多行事件的关系 

negate 可以是true或者false( 默认为false)  

如果为真,一个消息不匹配模式会即系
设置true是向前匹配,设置false向后匹配,默认是FALSE

比如,Java stack traces 是多行的, 通常消息是从最左边开始,每个行是缩进的

filter {
  multiline {
    type => "somefiletype"
    pattern => "^s"
    what => "previous"
  }
}

这个方式表示任何行以空白开始的属于之前的行

filter {
  multiline {
    type => "somefiletype "
    pattern => "\$"
    what => "next"
  }
}

这种方式任何行以反斜杠结束的应该属于下面的行 

该插件支持以下配置选项:

需要的配置选项:

multiline {
    pattern => ...
    what => ...
}
原文地址:https://www.cnblogs.com/hzcya1995/p/13349074.html