2017-08-31 66 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

相關問題