在docker主机操作系统上运行filebeat,并从容器中收集日志

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

您需要与每个容器共享一个卷,以便将日志logging到主机文件系统中。

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

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