0

td-agent unable to ship logs from line when log file contains single multiline logs. The logs are not picked up by td-agent until a new line is added

Installed td-agent on a windows machine. configured the td-agent.conf file to pick logs from a file containing single multiline log. The logs are not shipped until a new line is added to the file

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 log file:

2019-04-12 12:09:45 INFO abc.java exception occured at com.************* at com.************************** at com.************************

The logs should flow to kafka but it doesn't

1 Answers1

0

It is the limitation of in_tail plugin. How about using fluent-plugin-concat with multiline_end_regexp parameter?

okkez
  • 457
  • 2
  • 5