Filebeat - multiline:在文件末尾没有换行的情况下摄取XML

时间:2017-08-31 14:53:33

标签: xml logstash multiline elastic-stack filebeat

我想将XML文件摄取到ELK-Stack。我想要每个XML文件一个事件。这些XML文件以换行结束,因此filebeat的多行编解码器永远不会将XML的最后一行转发给Logstash。因此,Logstash的XML过滤器无法正确解析XML。

我正在使用filebeat 5.2.1。

我的XML看起来像这样(我插入换行符(LF)来显示):

LF
<taskReport>LF
LF
  <toplevelinfo Error="0" Warning="0"/>LF
LF
</taskReport>

我的filebeat.yml看起来像这样:

filebeat.prospectors:
- 
      paths:
        - C:\*.xml
      input_type: log
      document_type: xml
      multiline:
        pattern: '^<taskReport>'
        negate: true
        match: after

output.logstash:
  hosts: ["LS:5044"]

filebeat中是否有一个选项可以在事件中发送最后一行?

如果我在XML logstash的末尾手动添加换行符可以完美地解析XML,但这不是我的选择。

0 个答案:

没有答案