【问题标题】:Running filebeat on docker host OS and collecting logs from containers在 docker 主机操作系统上运行 filebeat 并从容器中收集日志
【发布时间】:2018-02-09 23:51:33
【问题描述】:

我有一个服务器,它是多个 docker 容器的主机操作系统。每个容器都包含一个正在创建日志的应用程序。我希望使用 syslog 守护程序将这些日志发送到一个地方,然后我希望 filebeat 将此数据传输到另一台服务器。是否可以在主机操作系统上安装 filebeat(无需为 filebeat 创建另一个容器),并使容器应用程序的日志数据由 syslog 守护程序收集,然后合并到主机操作系统上的 /var/log 中?谢谢。

【问题讨论】:

  • 您可以在您的host os 上安装filebeat,但您还必须将容器中的所有日志收集到host os 上的一个位置。

标签: docker logstash syslog filebeat


【解决方案1】:

您需要与每个容器共享一个卷,以便在主机文件系统中获取您的日志。

然后,您可以在主机上安装 filebeat 并将日志转发到您想要的位置,因为它们是“标准”日志文件。

请注意,通常 docker 容器不会将它们的日志写入真实的日志文件,而是写入标准输出。这意味着您可能需要自定义图像才能解决此日志记录问题。

【讨论】:

  • 我通过使用 docker 容器的 GELF 日志记录驱动程序解决了这个问题。它允许我通过 UDP 将源自容器日志的数据直接发送到我的远程服务器,而只需进行少量配置工作。
猜你喜欢
  • 1970-01-01
  • 2022-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多