Я хочу отправить журналы из приложения Java в ElasticSearch, и традиционный подход, похоже, заключается в настройке Logstash на сервере, на котором запущено приложение, и logstash анализирует файлы журнала (с регулярным выражением...!) и загружает их в ElasticSearch.
Есть ли причина, по которой это делается, вместо того, чтобы просто настроить log4J (или logback) для записи вещей в нужном формате непосредственно в сборщик журналов, который затем может быть отправлен в ElasticSearch асинхронно? Мне кажется сумасшедшим, что мне приходится возиться с фильтрами grok, чтобы иметь дело с многострочными трассировками стека (и записывать циклы процессора при анализе журнала), когда само приложение может просто записать его в нужном формате в первую очередь?
Что касается касательной к заметке, для приложений, работающих в контейнере Docker, лучше всего регистрироваться непосредственно в ElasticSearch, учитывая необходимость запуска только одного процесса?