logstash的Multiline插件
作者:互联网
安装插件
cd $LOGSTASH_HOME
./bin/logstash-plugin install logstash-filter-multiline
合并多行数据(Multiline)
input { stdin { codec =>multiline { charset=>... #可选 字符编码 max_bytes=>... #可选 bytes类型 设置最大的字节数 max_lines=>... #可选 number类型 设置最大的行数,默认是500行 multiline_tag... #可选 string类型 设置一个事件标签,默认是multiline pattern=>... #必选 string类型 设置匹配的正则表达式 patterns_dir=>... #可选 array类型 可以设置多个正则表达式 negate=>... #可选 boolean类型 设置true是向前匹配,设置false向后匹配,默认是FALSE what=>... #必选 设置未匹配的内容是向前合并还是先后合并,previous,next两个值选择 } } }
## negate 只支持布尔值,true 或者false,默认为false。
如果设置为true,表示信息不跟上面正则表达式(pattern)匹配的内容都与匹配的整合,
具体整合在前还是在后,看what参数。如果设置为false,即与pattern匹配的内容
## what 前一行 或者后一行,指出上面对应的规则与前一行内容收集为一行,还是与后一行整合在一起
简单来说:
negate默认是 false,不显示 与patten匹配的行 由what决定 向前或向后 匹配
negate 设置为true 则与patten 不匹配的行 由what决定 向前或向后 匹配
示例
日志内容
2015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]11112015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]11112015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]11112015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]11112015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]1111
logstash配置
input { file { path => "/var/log/someapp.log" codec => multiline { pattern => "^%{TIMESTAMP_ISO8601}" negate => true what => "previous" } } } output { stdout { codec => rubydebug } }
标签:...,插件,匹配,space,what,Multiline,gb,net,logstash 来源: https://www.cnblogs.com/fat-girl-spring/p/13043066.html