当文件包含单个多行日志时,td-agent无法从文件发送日志

时间:2019-04-18 11:52:42

标签: elastic-stack fluentd efk td-agent

当日志文件包含单个多行日志时,

td-agent无法从行发送日志。在添加新行之前,td-agent不会提取日志

在Windows机器上安装了td-agent。配置了td-agent.conf文件以从包含单个多行日志的文件中选择日志。在将新行添加到文件中之前,日志不会被发送

td-agent.conf

<source>
    @type tail
    path "C:/abc.txt"
    pos_file etc/td-agent/pos/abc-file.pos
    tag abc-file-test
    multiline_flush_interval 5s
    format multiline
    <parse>
        @type multiline
        format_firstline /^2019*/
        format1 /^(?<message>.*)/
    </parse>
    read_from_head true
</source>

<filter abc-file-**>
    @type record_modifier
    <record>
        entity "abc"
        component ${tag}
        hostname "#{Socket.gethostname}"
    </record>
</filter>

<match abc-file-**>
    @type kafka_buffered
    brokers "localhost:9092"
    default_topic abc-topic
    flush_interval 5s
    kafka_agg_max_bytes 1000000
    max_send_limit_bytes 10000000
    discard_kafka_delivery_failed true
    output_data_type json
    compression_codec gzip
    max_send_retries 1
    required_acks 1
    get_kafka_client_log true
</match>

abc.txt日志文件:

2019-04-12 12:09:45信息abc.java异常发生在com。*************                                     在com。**************************                                     在com。************************

日志应该流到kafka,但不会

1 个答案:

答案 0 :(得分:0)

这是in_tail插件的限制。 如何将fluent-plugin-concatmultiline_end_regexp参数一起使用?