2016-11-01 73 views
0

在這裏,有一個實時系統將文本消息傳輸到共享文件夾。還有一個filebeat其中導航這些消息來logstash,然後logstash分析它們並輸出到elasticsearch。問題是放置在共享文件夾中的一些消息的內容是錯誤的,正確的格式將在一段時間後發送,有時正確的格式會錯誤地更正。每個味精都有一個稱爲計數器的字段,並且一個錯誤的味精計數器比正確的小。有沒有辦法使用文檔ID從logstash查詢elasticsearch中的文檔

每次logstash收到新消息時,是否可以根據document_id查詢/搜索elasticsearch的記錄,並檢查彈性搜索中是否存在正確的msg,或者當前的msg是否正確,應該用舊的。

請注意,要訪問每條消息,將使用已定義的document_id,並且對於糾錯/錯誤消息都可以是相同的。 DOCUMENT_ID是象下面這樣:

output { 

    elasticsearch { 
    document_id => "%{my_id}" 
     . 
     . 
     . 
     } 
} 

回答

0

是的,你可以使用elasticsearch logstash filter這將讓你得到一個文檔匹配查詢。你的情況,你可以查詢一個id,你會得到您的文檔:此過濾器執行

filter { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     query => "_id:%{my_id}" 
     fields => { 
     "field1" => "fieldA" 
     "field2" => "fieldB" 
     } 
    } 
} 

後,你就會有field1field2複製到當前事件爲fieldAfieldB,你可以運行如果/然後/你測試你的事件,你認爲合適。

相關問題