我在一个容器中运行了一个Go应用程序,它会进行大量的日志记录:
log.Println("Something happened!")
因为我可以ssh到运行它的服务器上,我可以做docker logs -f [id]
来查看stderr
的输出,这一切都很好。
但现在我想把日志放到ElasticSearch中。
最好的办法是什么?我见过很多复杂的方法。
一种方法是使用GELF日志记录格式和Logstash,但我能找到的唯一Go GELF格式化程序是超级旧的。
或者记录到一个文件并使用Filebeat。但是我不想跳过那个文件步骤吗?
1条答案
按热度按时间oprakyz71#
我会尝试与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