我們的服務器根據日期將日誌文件存儲在目錄下,其中時間爲文件名。例如:Logstash:如何讀取由日期/時間創建的日誌
/2015.08.21/01.23
/2015.08.21/01.24
/2015.08.21/01.25
其中文件名遵循[小時]。[分鐘]約定。
如何將Logstash配置爲從最新文件讀取(一般慣例)?
- 第一次嘗試:
我將路徑設置爲:
path => ["/2015.08.21/*"]
Logstash開闢了很多文件,直到LOGSOURCE(Linux版)不允許它打開新文件。
- 第2次嘗試:
使用rsync複製所有文件,並將它們合併到單個文件。
但是,我有問題處理部分日誌文件,例如,如果當前日誌文件是11.12,並且它仍在寫入,我將只有部分數據。
- 第三嘗試:
定期創建符號鏈接,指向最新文件。我還沒有嘗試,但我認爲它應該工作,我需要弄清楚如何在Linux中創建簡單的調度程序。
- 更新
我已經嘗試了3嘗試,但我看到一些缺點此方法。
- 如果Logstash花費超過1分鐘處理文件,它將無法處理整個文件,因爲符號鏈接指向下一個文件。
- 可能無法處理最後1個或2個事件。
可能是SO格式問題,但是您的意思是「/ */*」還是「**」?你是否試圖第一次運行它(它有舊文件處理的地方)? –
感謝Alain發現格式錯誤。 – janetsmith