Поле заполнено в стандартный вывод, но пусто в эластичный поиск - PullRequest
0 голосов
/ 14 декабря 2018

Я новичок в эластичном стеке и впервые пытаюсь проанализировать многострочные журналы.(вот так)

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 для просмотра данных, поле пустое и строки не анализируются, но они записываются вне поля.

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

Спасибо!

...