Я не могу создать шаблон grok для журналов activamq в logstash - PullRequest
0 голосов
/ 22 апреля 2019

Я не могу создать шаблон grok для журналов activemq:

2018-04-03 20:01:17,960 | INFO  | PListStore:[/data/dccm/activeMQ/apache-activemq-5.15.3/data/localhost/tmp_storage] stopped | org.apache.activemq.store.kahadb.plist.PListStoreImpl | Thread-24

Я пробовал этот шаблон:

%{TIMESTAMP_ISO8601:timestamp} \s*\|\s*%{LOGLEVEL:loglevel} | %{DATA: data}
\: *\[ %{UNIXPATH:folder} \] stopped * \| %{JAVACLASS:class} \| %{WORD:tread}

Я могу получить метку времени и уровень логирования.Я использовал этот отладчик: https://grokdebug.herokuapp.com/

1 Ответ

3 голосов
/ 22 апреля 2019

Лучший способ построения шаблонов гроков - начать с левой стороны и постепенно продвигаться вправо, пока не закончите.Отладка «завершенного» шаблона - это наоборот - снимайте материал, пока он не начнет работать.

В вашем случае, даже этот более короткий шаблон не соответствует:

%{TIMESTAMP_ISO8601:timestamp} \s*\|\s*%{LOGLEVEL:loglevel} | %{DATA:data}:

Можете ли вы его увидеть?теперь легче?Да, вы не избежали символа канала до data.

Как только вы это исправите, вы можете продолжать добавлять части обратно, пока не обнаружите, что folder не соответствует.Это потому, что у вас есть один пробел в шаблоне только внутри скобок (с обеих сторон).

Пену, промойте, повторите.

...