当日志文件包含单个多行日志时,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 INFO abc.java 异常发生在 com.****************** 在 com.*************** *********** 在 com.************************
日志应该流向kafka,但它没有