У меня есть шаблон журнала, где каждый элемент журнала заключен в квадратные скобки. Я не могу контролировать оригинальный журнал. Я просто хочу, чтобы синтаксический анализ grok игнорировал скобки и только интерпретировал то, что находится между ними. На основании чего-то близкого к следующей строке:
2019-04-04 13.23.57.057 [52] [77] [MEASURE] [XYZService]
, я хочу, чтобы шаблон видел 52 как threadId. У меня есть следующий код:
if [message] =~ "MEASURE" {
grok {
match => { " message" => "%{TIMESTAMP_ISO8601:logtime} [%{NUMBER:threadId}] %{GREEDYDATA:restofmessage}" }
}
}
else {
drop()
}
В этом состоянии я получаю grokparsefailure, когда logstash пытается интерпретировать строку. Я уверен, что это связано только с частью в скобках, потому что, когда я удаляю этот шаблон, все работает нормально. Буду благодарен за любые идеи, что я делаю не так. Спасибо