2015-06-22 65 views
1

我使用後續的配置文件我Logstash轉發:有沒有辦法讓Logstash Forwarder只發送新的日誌?

{ 
    "network": { 
    "servers": [ "logstash-server:logstash-door" ], 
    "ssl ca": "server.crt", 
    "timeout": 15 
    }, 

    "files": [ 
    { 
     "paths": [ "myLogFile.log" ], 
     "fields": { "type": "myLog" } 
    } 
    ] 
} 

它工作正常。但是如果應用程序停止,當我重新啓動它時,它會再次將舊日誌發送到我的logstash服務器。這是一個大問題,有什麼辦法可以避免重發舊日誌?

回答

2

logstash-forwarder保留一個「註冊表」,它列出了它正在監視的每個文件以及該文件中的當前偏移量。如果無法寫入該文件,則在重新啓動該進程時不知道從哪裏開始。

檢查您的啓動腳本是否在寫入註冊表(名爲「.logstash-forwarder」)。較舊的版本會將其寫入程序啓動的目錄,而較新的版本會寫入/ var/lib/logstash-forwarder。

在調試模式下運行logstash-forwarder(-quiet = false)也可能爲您提供更多信息。

+0

實際上,我只需啓用'-tail = true',轉發器將加載偏移量。謝啦。 –

+0

這是爲了新文件。以前看過的文件由註冊表控制。 –

相關問題