У меня есть файл журнала, в котором последовательные строки идут в другом формате. один с JSON объектом в конце, другой без JSON
Тип 1: 2020-01-29 09:38:09 [/] [main] INFO org .springframework.boot.web.embedded.tomcat.TomcatWebServer | | Tomcat запущен на порту (ах): 9021 (http) с контекстным путем '/ service'
Тип 2: (с Json в конце) 2020-01- 29 09:38:09 [/] [main] ИНФОРМАЦИЯ org.springframework.boot.web.embedded.tomcat.TomcatWebServer | | Tomcat запущен на порту (ах): 9021 (http) с контекстным путем '/ service' {'key': 'value'}
Использование приведенного ниже кода в моем файле fluentd.conf для анализа журнала file
@type tail path /root/logs/my-service.log pos_file /root/logs/my-service.log.pos tag my-service.log @type multiline format_firstline / ^ \ d {4} - \ d {1,2} - \ d {1,2} / format1 / ^ (? \ d {4} - \ d {1,2} - \ d {1,2} \ d { 1,2}: \ д {1,2}: \ д {1,2}) \ s + [(??? \ ш * (= /)) / ([^ \ s] )] \ s + [([^ \ S] +?)] \ s + ([^ \ S] +?) \ s + (+ (= [{) |?.??. ) (?. *) /
Этот формат работает для формата журнала TYPE 2, упомянутого выше, но выдает ошибку с TYPE 1. Так как belwo
0 выдает событие ошибки: error_class = ArgumentError error = "params не существовать "
Так как JSON не доступен в конце.
Как мне справиться с таким сценарием, было бы действительно полезно исправить некоторые текущие проблемы в моем стеке EFK.