首页  >  文章  >  后端开发  >  将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?

将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?

王林
王林转载
2024-02-08 22:00:39526浏览

将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?

php小编草莓将Docker容器日志获取到Elasticsearch的最佳方式是使用Filebeat。Filebeat是一个轻量级的日志文件数据收集器,可以将Docker容器的日志实时发送到Elasticsearch进行索引和存储。通过配置Filebeat的docker input和elasticsearch output,可以方便地实现将Docker容器日志导入到Elasticsearch的过程。同时,Filebeat还提供了丰富的过滤和解析选项,可以根据需求对日志进行处理和转换。这种方式不仅简单易用,而且效率高,是获取Docker容器日志的最佳选择。

问题内容

我有一个在容器中运行的 go 应用程序,它执行大量日志记录:

log.Println("Something happened!")

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

但现在我希望日志进入 elasticsearch。

最好的方法是什么?我见过很多复杂的方法。

一种方法是使用 gelf 日志记录格式和 logstash,但我能找到的唯一 go gelf 格式化程序非常旧。

或者记录到文件并使用 filebeat。但我不想跳过该文件步骤吗?

解决方法

我会尝试使用 docker 设置 Fluentd:

https://www.php.cn/link/39799c18791e8d7eb29704fc5bc04ac8

https://docs.docker.com/config/containers/logging/流利/

然后让 fluidd 推送到elasticsearch:

https://www.php.cn/link/e0330da43b4d33f4ef9247ad260074f4

以上是将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除