當我啓動logstash時,舊日誌不會導入到ES中。
只有新的請求日誌記錄在ES中。
現在我在doc中看到了這個。舊日誌不會通過logstash導入到ES中
即使我設置start_position=>"beginning"
,也不插入舊日誌。
這隻發生在我在Linux上運行logstash時。
如果我使用相同的配置運行它,則會導入舊日誌。
我甚至不需要在Windows上設置start_position=>"beginning"
。
對此有何想法?
當我啓動logstash時,舊日誌不會導入到ES中。
只有新的請求日誌記錄在ES中。
現在我在doc中看到了這個。舊日誌不會通過logstash導入到ES中
即使我設置start_position=>"beginning"
,也不插入舊日誌。
這隻發生在我在Linux上運行logstash時。
如果我使用相同的配置運行它,則會導入舊日誌。
我甚至不需要在Windows上設置start_position=>"beginning"
。
對此有何想法?
當您向Logstash讀取輸入日誌時,Logstash將保留一條關於它在此文件上讀取的位置的記錄,即調用sincedb。
Where to write the sincedb database (keeps track of the current position of monitored log files).
The default will write sincedb files to some path matching "$HOME/.sincedb*"
所以,如果要導入舊的日誌文件,則必須刪除所有.sincedb *你的$ HOME。 然後,你需要設置
START_POSITION => 「開始」
在您的配置文件。
希望這可以幫助你。
請看這條線也。
該選項僅修改文件是新的並且以前沒有看到的「第一次接觸」情況。如果之前已經看過一個文件,這個選項不起作用。
就是這樣。通過設置sincedb_path的值可以解決問題。所以sincedb在第一次啓動時被重新創建。該問題也可以通過刪除原始的$ HOME/.sincedb *來解決。謝謝 – Mat777