Добрый день.
Имеется XML файл выгружаемый из программы для дольнейшей загрузки в 1С. Задача грузить из него данные в Elastic через Filebeat и Logstash. Проблема заключается в том что Filebeat читает файл, но не грузитего дальше в Logstash. Я выяснил по какой причне, сравнив этот файл с файлом-ответом из 1С. Разница всего в одном недостающем бите:
Файл выгрузки для 1С:
Файл-ответ от 1С:
Есть какой то способ декодировать или както заставить грузить Filebeat данные не смотря на отсутсвующий бит?
Я знаю что можно воспользоваться специальной программой и добавить бит руками (я так и разобрался в проблеме), но это ручной труд, который хочется исключить, к тому же файл выгружается несколько раз в день и постоянно руками вносить изменения это утопия.
Проблема не в 3с, проблема в новой строке (0d в первом случае и 0d 0a во втором). Какую ошибку вы получаете и через какие фильтры с какими настройками все это проходит? С параметром line_terminator в FileBeat-е играться не пробовали?
Добрый день.
Проблему вы описали точно, бит 3c выделен случайно, проблема именно в отсутсвии 0a. Попробывал сейчас параметр line_terminator, перебрал все доступные параметры, даныые не передаются в Logstash.
Как я понял данный параметр надо добавить в Filebeat inputs?
Есть какие нибуть еще варианты решения проблемы?
Извиняюсь, все получилось, я изначально не туда вставил параметр line_terminator, расположил в самом конце блока Filebeat inputs, а там у меня уже другие файлы обрабатываются. После вставки в нужное место и применении параметра line_terminator: carriage_return все заработало.
Спасибо за помощь, очень выручили.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.