Я новичок в эластичном стеке и впервые пытаюсь проанализировать многострочные журналы.(вот так)
2018-06-04 13:42:01,436 INFO (main) [en.vke.ultil.ServerStateChecker] - Server is not ready yet : Could not obtain connection to any of these urls: 127.0.0.1:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]
at $Proxy11.getServerState(Unknown Source)
Caused by: java.net.SocketTimeoutException: Receive timed out
Я использую этот фильтр grok:
%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} (%{DATA:info}) %{SYSLOG5424SD:service} - (?m)%{GREEDYDATA:logmessage}
и этот многострочный конфиг в моем вводе:
codec => multiline {
pattern => "^%{TIMESTAMP_ISO8601} "
negate => true
what => "previous"
}
Когда я показываювывод с кодеком stdout, он работает так, как я хочу, и у меня есть
Server is not ready yet : Could not obtain connection to any of these urls: 127.0.0.1:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]
at $Proxy11.getServerState(Unknown Source)
Caused by: java.net.SocketTimeoutException: Receive timed out
В поле "logmessage".Но когда я отправляю запрос на Flexiblesearch для просмотра данных, поле пустое и строки не анализируются, но они записываются вне поля.
Я не знаю, почему он действует по-другому, поэтому я запрашиваю некоторыепомощь или подсказки, чтобы помочь мне исправить это.
Спасибо!