logstash multiline

 filter {
    multiline {  
   pattern => "^s+%{TIMESTAMP_ISO8601}"
  negate=>true  
  what=>"previous"  
 }  



这个插件很简单,就是把当前行的数据添加到前面一行后面,直到新进的当前行匹配^[正则为止


这个过滤器 已经过时了 在 multiline-codec的支持,Multiline filter 不是线程安全的,


这个过滤器会崩溃 多行消息从一个单独的source 到一个logstash event


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

比如  连接java exception 和 stacktrace 消息到一个单独的事件


配置文件如下:


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


模式应该是一个正则表达式 匹配 你相信作为一个指标  多行日志的数据组成


what  必须是previous 或者next 来表明关联到多行事件



例子, Java stack traces 是多行和通常有消息 从左边开始,随后的行缩进 

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

这个说明 任何行以空格开始属于之前的行


原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199129.html