У меня есть вопрос о плагине grok:
У меня есть несколько журналов, которые построены следующим образом, и моя проблема заключается в том, что порядок моих полей может изменяться от журнала к журналу (в примере здесь Я должен извлечь из всех журналов как user id
, так и document id
). Поэтому мне интересно, как я должен построить шаблон Grok для обработки обоих журналов. Я надеюсь, что есть лучшее решение для написания двух разных шаблонов (или как написать регулярное выражение, чтобы найти специфицированный c атрибут в любом месте журнала, не зная перед его точной позицией)
2019-01-15 INFO myclass - mymethod: user id: 12345 custom message 1 document id: 843572309845
2019-01-15 WARN myclass - mymethod1: document id: 43543534 custom message 2 user id: 98589348543 custom message 3 agent id: 98435734
ожидаемый результат:
date: 2019-01-15
level: INFO
class: myclass
method: mymethod
message: user id: 12345 custom message 1 document id: 843572309845
userId: 12345
documentId: 843572309845
date: 2019-01-15
level: WARN
class: myclass
method: mymethod1
message: document id: 43543534 custom message 2 user id: 98589348543 custom message 3 agent id: 98435734
userId: 98589348543
documentId: 43543534
agentId: 98589348543
Ждем Вашего ответа, спасибо.