【发布时间】:2021-12-10 00:31:15
【问题描述】:
我正在寻找一种将 Spring Boot 应用程序日志直接发送到 Elasticsearch 服务器而不使用 Filebeats 或 Logstash 的最佳/最新方法。我怎样才能做到这一点? Spring Boot 中是否有一种简单/现代的方式,或者使用任何好的/知名的库来实现这一点?
我需要的是直接将日志从 Spring Boot 发送到 Elasticsearch,而不需要像 Logstash 这样的任何中间服务。如果可以添加到pom.xml 的第三方库并且完全可以这样做,那很好。我需要 Spring 应用程序本身来处理这个问题。我在 Stack Overflow 中检查了一些类似的问题。
但有些库现在已弃用,有些库很长时间没有更新。我想知道一个新的图书馆或现在这样做的方法?基本上它写入控制台的内容应该发送到 Elasticsearch。
【问题讨论】:
-
业务应用旨在解决业务问题,而不是监控,因此最佳实践是配置 log4j 并推送到日志文件。这将是应用程序中不依赖于 elasticsearch 的轻量级进程。使用 logstash 管道将日志索引到 elasticsearch。
-
让您的应用程序将日志文件直接推送到 ES 不是一个好主意的另一个原因是,如果 ES 因维护而停机,您会丢失日志,如果 ES 很慢,您的应用程序会也很慢。
-
这个已经回答了,请看:stackoverflow.com/a/45627472/5659521
标签: java spring-boot elasticsearch logging