我正在构建微服务,并希望将所有日志推送到在云上管理的ELK堆栈。将日志推送到Elasticsearch的标准做法是什么。我应该在每个微服务实例上配置logstash,还是应该远程配置logstash,所有微服务都应该将日志推送到logstash服务?
发布于 2021-05-09 08:07:10
你应该在你的代码将要运行的每个服务器上运行Filebeat (或Fluent Bit),理想情况下让Spring中的slf4j使用滚动文件附加器在某个/var/log/java/<your app name>下写入;java子目录,因为你将glob它下的所有目录,而不需要捕获所有其他/var/log/*文件和目录……
然后,配置文件节拍以扫描/var/log/java/**下的文件
从那里,您可以直接发送到Elastic,或者推送TCP、Kafka等输出并使用来自Logstash (或Fluentd)的输出,然后在写入Elastic之前进行转换、过滤等
发布于 2021-05-09 08:07:15
Loghstash是一个重量级应用,通常是单实例。
根据我的经验,每个节点通常都有Filebeat实例,这些实例从应用程序中获取日志,并通过网络将日志推送到LogStash实例。
https://stackoverflow.com/questions/67395619
复制相似问题