首页 > 解决方案 > 在 Spring Boot 应用程序上设置 Logstash

问题描述

我正在构建微服务,并希望将所有日志推送到云上管理的 ELK 堆栈。将日志推送到 Elasticsearch 的标准做法是什么。我应该在每个微服务实例上配置logstash,还是应该远程配置logstash并且所有微服务都应该将日志推送到logstash服务?

标签: javaspring-bootlogstashelastic-stack

解决方案


您应该在运行代码的每台服务器上运行 Filebeat(或 Fluent Bit),理想情况下,/var/log/java/<your app name>使用滚动文件附加器将 Spring 中的 slf4j 写入一些服务器;java子目录,因为您将要获取它下的所有目录,并且您不需要捕获所有其他/var/log/*文件和目录...

然后,配置Filebeat扫描下的文件/var/log/java/**

从那里,您可以直接发送到 Elastic,或者推送 TCP、Kafka 等输出并从 Logstash(或 Fluentd)使用,然后在写入 Elastic 之前进行转换、过滤等


推荐阅读