Я новичок в Logstash, и я просмотрел многочисленные примеры шаблонов grok, и я все еще пытаюсь добиться своей цели, которая заключается в анализе следующего JSON
отформатированного журнала событий.grok pattern for log event
{
"@fields": {
"level": "DEBUG",
"mdc": {},
"file": "SearchServiceImpl.java",
"class": "com.blah.blah.service.impl.SearchServiceImpl",
"line_number": "767",
"method": "getUserSavedSearches"
},
"@timestamp": "2015-04-24T12:30:37.953+01:00",
"@message": "username: admin sessionid: 56cR73aBpuIBzRgIElzLUtJJ method_name: getUserSavedSearches",
"@source_host": "Kens-MacBook.local"
}
В частности, я хотел бы извлечь идентификатор сеанса и имя пользователя. Я также надеюсь, что я могу указать на подробную документацию, объясняющую, как использовать Grok. (Я прочитал доступные документы о logstash и т. Д.). Любая помощь будет принята
спасибо за ваш ответ, к сожалению, это не сработало. Я попробовал его в отладчике grok с ответом «нет ответа». выдержка из вывода прилагается для справки. –
"@timestamp" => "2015-04-27T08: 43: 43.839Z", "@message" => "имя пользователя: admin sessionid: -eGqqj0ZsJK-Zgqz4i-utppH имя_пользователя: getSavedSearch", "@source_host" = > «Kays-MacBook.local», «@version» => «1», «type» => «log4j», «host» => «Kenss-MacBook.local», «путь» => "/opt/jboss-eap-6.3/standalone/log/Service.log", "tags" => [ [0] "_grokparsefailure" ] } –
Я обновил свой ответ. Это потому, что у sessionId есть другой символ, у вас должен быть шаблон NOTSPACE вместо WORD. –