Logstash处理文件中的多行记录
我的日志示例如下所示: 2017-01-03 03:38:18+0000字段1:123字段2:321 字段3:1133字段4:0901 2017-01-03 03:38:19+0000字段1:523字段2:521 字段3:533字段4:509Logstash处理文件中的多行记录,logstash,multiline,Logstash,Multiline,我的日志示例如下所示: 2017-01-03 03:38:18+0000字段1:123字段2:321 字段3:1133字段4:0901 2017-01-03 03:38:19+0000字段1:523字段2:521 字段3:533字段4:509 我对这个很陌生。我应该如何编写正则表达式 对于文件{}输入,您应该使用而不是多行{}过滤器,例如: input { file { path => "..." codec => multiline { negate
我对这个很陌生。我应该如何编写正则表达式 对于文件{}输入,您应该使用而不是多行{}过滤器,例如:
input {
file {
path => "..."
codec => multiline {
negate => "true"
pattern => "^%{YEAR}"
what => "previous"
}
}
}
您可以这样理解,如果行不是以年份开头,请与前一行保持一致。您没有明确说明,但文件是由logstash在本地读取的,还是您使用的是像filebeat这样的发货人?该文件是本地文件。它与logstash位于同一个驱动器中。那么^%{YEAR}中的“^”是什么意思呢?插入符号的意思是以开头。充分利用logstash需要对正则表达式有很好的了解。