Filebeat 没有将正确的多行日志发送到 logstash
Filebeat not sending correct multiline log to logstash
出于某种原因,filebeat 在 filebeat.yml 文件中使用多行过滤器时未发送正确的日志。我正在读取的日志文件有一些多行日志和一些单行日志。但是,它们都以日期开头,遵循相同的格式。例如,这里有几行:
2017-Aug-23 10:33:43: OutputFile: This is a sample message
2017-Aug-23 10:34:23: MainClass: Starting connection:
http.InputProcess: 0
http.OutPutProcess: 1
2017-Aug-23 10:35:21: OutputFile: This is a sample message 2
我的 Filebeat yml 是:
- input_type: log
paths:
- /home/user/logfile.log
document_type: chatapp
multiline:
pattern: "^%{YYYY-MMM-dd HH:mm:ss}"
negate: true
match: before
出于某种原因,当我看到 filebeat 日志命中 elasticsearch 时,所有日志都将聚合到一个日志行中,因此它似乎并没有真正按日期读取文件。有人可以帮忙吗?谢谢!
使用
pattern: "^%{YEAR}-%{MONTH}-%{MONTHDAY}"
给定 grok 模式,您当前使用的模式没有有效定义的正则表达式。
您可以使用 logstash 中预定义的 the grokconstructor. I constructed this pattern from the grok-patterns 测试多行模式。
出于某种原因,filebeat 在 filebeat.yml 文件中使用多行过滤器时未发送正确的日志。我正在读取的日志文件有一些多行日志和一些单行日志。但是,它们都以日期开头,遵循相同的格式。例如,这里有几行:
2017-Aug-23 10:33:43: OutputFile: This is a sample message
2017-Aug-23 10:34:23: MainClass: Starting connection:
http.InputProcess: 0
http.OutPutProcess: 1
2017-Aug-23 10:35:21: OutputFile: This is a sample message 2
我的 Filebeat yml 是:
- input_type: log
paths:
- /home/user/logfile.log
document_type: chatapp
multiline:
pattern: "^%{YYYY-MMM-dd HH:mm:ss}"
negate: true
match: before
出于某种原因,当我看到 filebeat 日志命中 elasticsearch 时,所有日志都将聚合到一个日志行中,因此它似乎并没有真正按日期读取文件。有人可以帮忙吗?谢谢!
使用
pattern: "^%{YEAR}-%{MONTH}-%{MONTHDAY}"
给定 grok 模式,您当前使用的模式没有有效定义的正则表达式。
您可以使用 logstash 中预定义的 the grokconstructor. I constructed this pattern from the grok-patterns 测试多行模式。