Я использую logstash для разбора сообщений из filebeat.Отдельные сообщения имеют следующий синтаксис:
key1: some data!....
-...data continues..special symbols ..:!?111--
whatever...1234!"..??..data..continues !!';;; blabla
key2: important data
key1
- это многострочный беспорядок, который я хочу записать.
Также обратите внимание, что key2 является необязательным, и может не произойтибыть в сообщении журнала!
Я хочу проанализировать значение key2, если оно есть, и попробовал его так:
key1: (?m)%{DATA}(\nkey2:%{DATA:value})?
, но кажется, что первый блок DATA
просто совпадаетвсе сообщение и дополнительная часть пропущены.
Мне нужен первый блок DATA
, чтобы не быть жадным, и чтобы не пропускать key2
.
Спасибо за любые предложения:)