Как избежать скобок в гроке, в котором есть номер? Например, (396) - PullRequest
0 голосов
/ 12 июля 2019

Я хочу перенести пример файла журнала в Grok Regex и не могу найти способ в Интернете. Как передать сообщение журнала в grok regex.

Я хочу передать что-то вроде этого 2019-07-09 13: 51: 00,146 INFO Thread-89 task.AbstractTaskProcessor (106) messages " Грок регулярных выражений

Windows машина. Я пробовал несколько способов конвертировать сообщения журнала в регулярные выражения, но ни один из них не работает. Кибана не отображает Filed of Loglevel.

 grok {
    match => {
       "messgae" => "%{TIMESTAMP_ISO8601:timestamp} *%{LOGLEVEL:level} (?<logthread>(?:[()a-zA-Zd-]+[0-9]*)) 
%{JAVACLASS:class} %{NUMBER} %{GREEDYDATA:message} 
    }
  }

Кибана должна иметь лог-уровень в качестве поля

1 Ответ

1 голос
/ 12 июля 2019

Вы можете попробовать это:

%{TIMESTAMP_ISO8601:timestamp},%{NUMBER} %{LOGLEVEL:level} %{DATA:logthread} %{DATA:class}\(%{NUMBER}\) %{GREEDYDATA:message}

Я проверял это на:

2019-07-09 13:51:00,146 INFO Thread-89 task.AbstractTaskProcessor(106) messages

вы получите следующие поля:

timestamp   2019-07-09·13:51:00
message     messages
class       task.AbstractTaskProcessor
logthread   Thread-89
level       INFO 
...