1. 程式人生 > >elasticsearch重復采集問題

elasticsearch重復采集問題

logstash重復收集 es記錄重復

公司剛上elk,filebeat----logstash----elasticsearch 這種架構,目前nginx每天日誌量不到100w,所以沒有添加消息隊列。 進行測試的時候發現:每次重啟logstash或者elasticsearch(模擬異常或者停機維護),日誌會有重復采集的情況。腳本測試每秒寫入1000條日誌到一個文件(filebeat進行采集),持續時間120s;測試了3-4次,每次重啟logstash或者elasticsearch,日誌總條數都大於120000,基本都會多上千條。 查詢官網文檔後給出了一個解決方法:用戶自定義文檔id,如果索引中無相同id的文檔,執行insert;有相同id文檔,則執行update 1,nginx做如下修改,nginx 日誌json格式增加 "request_id":"$request_id" #nginx版本大於1.11.0 2, logstash output { elasticsearch { hosts => "example.com" document_id => "%{request_id}" } }

參考文獻:https://www.jianshu.com/p/5e103e1eb017
參考文獻:https://www.elastic.co/blog/logstash-lessons-handling-duplicates

elasticsearch重復采集問題