Шаблон Logstash для log4j

Я настраиваю Elasticsearch, Logstash и Kibana. Я столкнулся с ошибкой при настройке "logstash.conf". Вот ошибка, которую я получил.

{:timestamp=>"2015-05-25T21:56:59.907000-0400", :message=>"Error: Expected one of #, {, ,, ] at line 12, column 49 (byte 265) after filter {\n  grok {\n     match => [\"message\", \"<log4j:event logger=\""}
{:timestamp=>"2015-05-25T21:56:59.915000-0400", :message=>"You may be interested in the '--configtest' flag which you can\nuse to validate logstash's configuration before you choose\nto restart a running system."}

Это мой logstash.conf

grok {
   match => ["message", "<log4j:event logger="%{DATA:emitter}" timestamp="%{BASE10NUM:timestamp}" level="%{LOGLEVEL:level}" thread="%{DATA:thread}">, <log4j:message><%{GREEDYDATA:message}></log4j:message>" ]
}

Я новичок в ЕЛК.


person Ronald Flores    schedule 26.05.2015    source источник


Ответы (1)


Поскольку ваш шаблон grok содержит двойные кавычки, вы должны либо

  1. избежать двойных кавычек внутри выражения, поставив перед ними обратную косую черту, или
  2. используйте одинарные кавычки в качестве разделителя строки шаблона.

Пример 1:

grok {
   match => ["message", "<log4j:event logger=\"%{DATA:emitter}\" ..." ]
}

Пример 2:

grok {
   match => ["message", '<log4j:event logger="%{DATA:emitter}" ...' ]
}
person Magnus Bäck    schedule 26.05.2015