2014-03-25 59 views
5

當我啓動logstash時,舊日誌不會導入到ES中。
只有新的請求日誌記錄在ES中。
現在我在doc中看到了這個。舊日誌不會通過logstash導入到ES中

即使我設置start_position=>"beginning",也不插入舊日誌。
這隻發生在我在Linux上運行logstash時。

如果我使用相同的配置運行它,則會導入舊日誌。
我甚至不需要在Windows上設置start_position=>"beginning"

對此有何想法?

回答

5

當您向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 => 「開始」

在您的配置文件。

希望這可以幫助你。

+0

就是這樣。通過設置sincedb_path的值可以解決問題。所以sincedb在第一次啓動時被重新創建。該問題也可以通過刪除原始的$ HOME/.sincedb *來解決。謝謝 – Mat777

1

請看這條線也。

該選項僅修改文件是新的並且以前沒有看到的「第一次接觸」情況。如果之前已經看過一個文件,這個選項不起作用。