elasticsearch重複採集問題

公司剛上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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章