我一直在嘗試將日誌從logstash發送到elasticsearch.Suppose我正在運行logstash實例,並在運行時對logstash實例所在的文件進行了更改監控,那麼先前保存在elasticsearch中的所有日誌都會再次保存,因此會形成重複。在logstash實例運行時將條目複製到Elastic Search
另外,當logstash實例關閉並重新啓動時,日誌會在elasticsearch中重複。
如何解決此問題? 如何僅將文件中最新添加的條目從logstash發送到elasticsearch? 我logstash instance命令如下: 斌/ logstash -f logstash-complex.conf
和配置文件是這樣的:
input
{
file
{
path => "/home/amith/Desktop/logstash-1.4.2/accesslog1"
}
}
filter
{
if [path] =~ "access"
{
mutate
{
replace =>
{ "type" => "apache_access" } }
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch {
host => localhost
index => feb9
}
stdout { codec => rubydebug }
}
如果我創建的文件是一個新文件,start_position必須指向文件的開頭,該怎麼辦? – 2015-02-10 11:33:33
進行上述更改後仍然重複。 – 2015-02-10 11:44:10
你使用什麼操作系統?如果您在窗口上運行,則存在logstash上的錯誤。 https://logstash.jira.com/browse/LOGSTASH-429 – 2015-02-12 00:40:42