В моем приложении у меня есть журнал fromat следующим образом-Logstash Grok фильтр для моего приложения
logFormat: '%-5level [%date{yyyy-MM-dd HH:mm:ss,SSS}] [%X{appReqId}] [%X{AppUserId}] %logger{15}: %m%n'
и выход такого формата как
INFO [2017-02-03 11:09:21.792372] [b9c0d838-10b3-4495-9915-e64705f02176] [ffe00000000000003ebabeca] r.c.c.f.r.MimeTypeResolver: [Tika MimeType Detection]: filename: 'N/A', detected mime-type: 'application/msword', time taken: 2 ms
Теперь я хочу каждое поле лога в быть запрошенным в kibana, и для этого я хочу, чтобы logstash анализировал входное сообщение журнала, и кажется, что фильтр grok там помогает нам. Если фильтр grok способен фильтровать мое сообщение, должно быть правильно выход должен быть равен
"message" => "INFO [2017-02-03 11:09:21.792372] [b9c0d838-10b3-4495-9915-e64705f02176] [ffe00000000000003ebabeca] r.c.c.f.r.MimeTypeResolver: [Tika MimeType Detection]: filename: 'N/A', detected mime-type: 'application/msword', time taken: 2 ms",
"appReqId" => "b9c0d838-10b3-4495-9915-e64705f02176",
"timestamp" => "2017-02-03 11:09:21.792372",
"AppUserId" => "ffe00000000000003ebabeca",
"logger" => "r.c.c.f.r.MimeTypeResolver",
Я не могу понять, как мне настроить файл logstash.conf, чтобы получить желаемый результат. Я попытался как следующий
filter {
grok {
match => { "message" => "%{LOGLEVEL:severity}* %{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day} %{TIME:time} %{JAVACLASS:class}\.%{JAVAFILE:file}" }
}
}
и проверены на grok patter varifier и он не был бы оценен work.Any вид помощи.
спасибо @ sysadmin1138, он отлично работал для меня – RIPAN