logstash multiline 过滤 mysql slowlog 和java log

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logstash multiline 过滤 mysql slowlog 和java log相关的知识,希望对你有一定的参考价值。

在logstash的输出中,每行开头都会加上timestamp 因此,对于mysql slowlog和java log
多行输出格式,就显得画蛇添足了;不过,logstash提供了multiline 功能

filter {
  # 如果是以# Time开头的就开始新一行         
  if [type] == ‘slowlog‘ {
      multiline {
         what => next
         pattern => "^# Time:"
         
 # 如果是# [A-Za-z0-9_-][email protected]开头的合并到上一行             }
     multiline {
         what => previous
         negate => true
        pattern => "^# [A-Za-z0-9_-][email protected]"
     }
  }
 
 # match java log
 if [type] == ‘java‘ {
     multiline {
       pattern => "^%{TIMESTAMP_ISO8601} "
       negate => true
       what => previous  
            } 
    }
}

以上是关于logstash multiline 过滤 mysql slowlog 和java log的主要内容,如果未能解决你的问题,请参考以下文章

logstash之multiline插件,匹配多行日志

logstash multiline 把多行文件处理为一个 event

logstash multiline处理csv单元格多行数据的double quotes问题(exception=>#<CSV::MalformedCSVError: Unclosed quoted)

logstash收集java日志,多行合并成一行

使用logstash收集javanginx系统等常见日志

logstash 中多行合并