2017-08-31 67 views
0

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

+0

你可以在你的'host os'上安装'filebeat',但你也必须将所有的容器日志收集到'host os'上的一个地方。 – Tuan

回答

2

您需要与每个容器共享一个卷才能让日志进入主机文件系统。

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

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

+0

我通过使用docker容器的GELF日志记录驱动程序解决了这个问题。它使我能够通过小的配置工作直接将源自容器日志的数据通过UDP发送到远程服务器。 – avarkhed

相关问题