使用logstash同步MongoDB數據到es


input{
  mongodb{
        codec => "json"
        uri => 'mongodb://127.0.0.1:27017/kuaibao'
        placeholder_db_dir => '/usr/local/etc/logstash-5.6.0/dbdir'
        placeholder_db_name =>'user.db'
        collection => 'user'
        generateId => 'true'
        parse_method => "simple"
    }
}

filter{
  mutate{remove_field => ["_id"]}
}

output{
 elasticsearch{
  hosts => ["http://127.0.0.1:9200"]
  index => "ordertrance"
  manage_template=>true
  document_type=>"user"
}
stdout {
        codec => json_lines
    }
}

  

配置如上圖,遇到一個坑,卡了我兩天,我去。。。。

剛開始我的placeholder_db_dir是配置成了/usr/local/etc/logstash-5.6.0,也就是logstash的根目錄,誰成想配置成這樣居然不好使,各種百度各種谷歌,明明跟人家的配置都是一樣的,我的就是同步不就去es。差點去世,最后鬼使神差的試着修改了一下placeholder_db_dir,居然可以了,吐血。。。

 

進行到最后一步,MongoDB自定義主鍵無法同步,報錯MongoDB Input threw an exception, restarting {:exception=>#<BSON::ObjectId::Invalid: 'zj11111111111111111111' is an invalid ObjectId.>}

百度谷歌無果,准備使用mongo-connector試一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM