Как разделить одну запись на несколько в fluentd?

Я хотел бы спросить относительно fluentd.

Мои версии fluentd ниже.

td-agent-2.1.5-0.x86_64
fluentd 0.10.61

Теперь у меня есть Плагин ввода хвоста, использующий многострочный формат, который анализирует несколько строк из журнала и устанавливает как одну запись, как показано ниже.

2016-07-31T14:48:06+09:00       arm       {"val1":"15:49:18.602384","val2":"5009","val3":"4896","val4":"3905","val5":"1811","val6":"10287","val7":"10271","val8":"1509","val9":"11064","val10":"10832","val11":"10673","val12":"9553","val13":"10660","val14":"9542","val15":"15:49:18.602509","val16":"3759","val17":"4758","val18":"2930","val19":"1261","val20":"7761","val21":"7767","val22":"1023","val23":"7905","val24":"7711","val25":"7918","val26":"7292","val27":"7940","val28":"6907"}

Мне нужно будет разделить все поля с 1 записи на 28, чтобы elasticsearch распознал как разные документы.

Например,

val1

val2

val3

...

val28

Есть ли способ добиться этого в конфигурации fluentd? Может быть, встроить рубиновый код?

С уважением, Ю Ватанабэ

0
задан 31 July 2016 в 09:11
1 ответ

Вам необходимо предоставить Regex для отдельного анализа полей и установить часть json сообщения журнала как поле message , а временная метка должна храниться в поле time или @timestamp , и он должен работать так, как вы ожидаете, где ElasticSearch автоматически интерпретирует полезную нагрузку json.

0
ответ дан 24 November 2019 в 06:04