默認情況下,一個文件只能匹配一個Logtail采集配置。本文介紹如何實現文件日志被采集多份。
背景信息
當多個Logtail采集配置匹配同一個文件時,會導致多倍的CPU、內存、磁盤IO和網絡IO資源占用,將影響同一臺服務器部署的其他服務性能,因此默認情況下,一個文件只能匹配一個Logtail采集配置。
解決方案
將日志數據存儲到不同Logstore
不需要配置多個Logtail采集配置,可以使用日志服務數據加工功能對日志進行復制,避免對同主機的其他服務性能造成影響。具體操作,請參見復制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。
文檔內容是否對您有幫助?