預設情況下,一個檔案只能匹配一個Logtail採集配置。本文介紹如何?檔案日誌被採集多份。
背景資訊
當多個Logtail採集配置匹配同一個檔案時,會導致多倍的CPU、記憶體、磁碟IO和網路IO資源佔用,將影響同一台伺服器部署的其他服務效能,因此預設情況下,一個檔案只能匹配一個Logtail採集配置。
解決方案
將日誌資料存放區到不同Logstore
不需要配置多個Logtail採集配置,可以使用Log Service資料加工功能對日誌進行複製,避免對同主機的其他服務效能造成影響。具體操作,請參見複製Logstore資料。
建立多個Logtail採集配置
主機情境
建立目錄軟連結
為檔案所在的目錄建立軟連結。在一個Logtail配置中使用原路徑,在另一個Logtail配置中使用軟連結路徑。例如執行如下命令,為檔案所在目錄
/home/log/nginx/log
建立軟連結/home/log/nginx/link_log
,通過軟連結可以讀取目錄下的檔案內容。ln -s /home/log/nginx/log /home/log/nginx/link_log
添加強制採集配置
在Logtail採集配置的輸入配置中,開啟允許檔案多次採集開關。參見採集主機文本日誌。
容器情境
採集容器日誌的配置步驟,請參見通過DaemonSet方式採集Kubernetes容器文本日誌和通過Sidecar方式採集Kubernetes容器文本日誌。
控制台
在Logtail採集配置的輸入配置中,開啟允許檔案多次採集開關。
CRD
定義多個CRD。