将Docker容器日志放入Elasticsearch的最佳方法是什么?



我有一个Go应用程序在一个容器中运行,它做了很多日志记录:

log.Println("Something happened!")

由于我可以ssh到它运行的服务器,我可以执行docker logs -f [id]来查看stderr的输出,这一切都很好。

但是现在我想把日志放到Elasticsearch中。

最好的方法是什么?我已经见过这么多复杂的方法了。

一种方法是使用GELF日志格式和Logstash,但是我能找到的唯一的Go GELF格式化程序是超级老的。

或者记录到一个文件并使用Filebeat。但我不想跳过文件这一步吗?

我会尝试用docker设置fluentd:

https://www.fluentd.org/guides/recipes/docker-logging

https://docs.docker.com/config/containers/logging/fluentd/

然后让fluentd推送到elasticsearch:

https://docs.fluentd.org/output/elasticsearch

相关内容

最新更新