Logstash使用mongodb插件報錯: ArgumentError: wrong number of arguments (given 2, expected 1)


背景

今天在使用logstash收集日志存儲到mongodb的安裝過程遇到了個錯誤,記錄下來,錯誤就是下面這樣:
Logstash啟動報錯

配置文件很簡單,由於是測試環境,命令行傳入日志輸入由ruby過濾一下內容,轉換一個time屬性的字符串日期為ISODate。

input {
  stdin { }
}

filter {
  ruby {
    path => "/usr/local/etc/logstash/parse_json_records.rb"
  }
  date {
    match => [ "time", "yyyy-MM-dd HH:mm:ss,SSS" ]
    locale => "Asia/Shanghai"
    timezone => "Asia/Shanghai"
    target => "ctime"
  }
  mutate {
    remove_field => ["@timestamp", "@version"]
  }
}

output {
    mongodb {
        collection => "ACTION"
        generateId => "true"
        database => "evo-rcs"
        uri => "mongodb://172.31.254.239:27017"
    }
    stdout { codec => rubydebug }
}

所以啟動時指定配置文件,問題肯定不在這。

安裝插件過程

logstash想把數據存儲到mongodb中需要先安裝插件

➜  logstash logstash-plugin install logstash-output-mongodb

Validating logstash-output-mongodb
Installing logstash-output-mongodb

Installation successful

我們看下當前插件的版本

logstash-plugin list --verbose
...
logstash-output-mongodb (3.1.6)
...

Google一下,看到Github作者回復,原來是個版本問題。。。需要切換到3.1.5,那我來試試看。

之前是通過默認不指定版本的安裝,現在需要指定版本:

➜  logstash logstash-plugin install --version=3.1.5 logstash-output-mongodb

Validating logstash-output-mongodb-3.1.5
Installing logstash-output-mongodb

Installation successful

安裝完之后再重啟啟動:
Logstash正常啟動

就一點問題都沒有了。

問題很小,但是很煩人呢。


免責聲明!

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



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