卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34364本站已运行393

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

将 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

卓越飞翔博客
上一篇: 如何在Go中从multipart.Part获取multipart.File而不保存到磁盘?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏