td-agent не может отправлять журналы из файла, если файл содержит один многострочный журнал - PullRequest
0 голосов
/ 18 апреля 2019

td-agent не может отправлять журналы со строки, когда файл журнала содержит одиночные многострочные журналы.Журналы не извлекаются td-agent до тех пор, пока не будет добавлена ​​новая строка

Установленный td-agent на машине с Windows.настроил файл 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 произошло на ком. ************* на ком. ************************** на ком. ************************

Логи должны перетекать в кафку, но это не такт

1 Ответ

0 голосов
/ 19 апреля 2019

Это ограничение плагина in_tail. Как насчет использования fluent-plugin-concat с параметром multiline_end_regexp?

...