logstash-filter-multiline简介
- logstash-filter-multiline是logstash的一个插件。
- 功能:多行日志,根据匹配规则,进行合并。
比如:ERROR日志其实是很多行表达一个意思,此时我们需要将多行日志进行合并收集
- 使用:logstash-filter-multiline-3.0.2.zip(下载logstash-filter-multiline-3.0.2.gem压缩后得到)
logstash-filter-multiline安装
上传logstash-filter-multiline-3.0.2.zip至/usr/local/elk目录下
root用户执行:
cd /usr/local/elk/logstash-6.2.1/bin
./logstash-plugin install file:///usr/local/elk/logstash-filter-multiline-3.0.2.zip
返回:
[root@iZ2ze2lelgjwuyib5l73eaZ bin]# ./logstash-plugin install file:///usr/local/elk/logstash-filter-multiline-3.0.2.zip
Validating file:///usr/local/elk/logstash-filter-multiline-3.0.2.zip
Installing logstash-filter-multiline
Installation successful
multiline插件的用法(==此处只是简单介绍==)
参数介绍:
negate
类型是 boolean
默认为 false
否定正则表达式(如果没有匹配的话)。
pattern
必须设置
类型为 string
没有默认值
what
必须设置,可以为 previous 或 next
没有默认值
如果正则表达式匹配了,那么该事件是属于下一个或是前一个事件?(==向前一行合并还是向后一行合并==)
示例:
multiline {
pattern => "^20" //正则匹配20开头
negate => true //true:表示不匹配正则表达式时,false:匹配正则表达式时(negate相反的)
what => "previous" //设置未匹配的内容是向前合并还是先后合并,previous向前合并,next向后合并
}
也就是不匹配pattern的行都属于前行的内容的一部分。