Logstash 启动报错 no implicit conversion of Integer into String

3,721 阅读1分钟

启动 logstash 如下错误

[ERROR][logstash.javapipeline    ] Pipeline aborted due to error {:pipeline_id=>"main", :exception=>#<TypeError: no implicit conversion of Integer into String>, :backtrace=>["uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/date/format.rb:335:in `_parse'", "uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/date.rb:734:in `parse'", "/nas/logstash-7.3.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/value_tracking.rb:87:in `set_value'", "/nas/logstash-7.3.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/value_tracking.rb:36:in `initialize'", "/nas/logstash-7.3.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/value_tracking.rb:29:in `build_last_value_tracker'", "/nas/logstash-7.3.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:216:in `register'", "/nas/logstash-7.3.0/logstash-core/lib/logstash/java_pipeline.rb:192:in `block in register_plugins'", "org/jruby/RubyArray.java:1792:in `each'", "/nas/logstash-7.3.0/logstash-core/lib/logstash/java_pipeline.rb:191:in `register_plugins'", "/nas/logstash-7.3.0/logstash-core/lib/logstash/java_pipeline.rb:292:in `start_inputs'", "/nas/logstash-7.3.0/logstash-core/lib/logstash/java_pipeline.rb:248:in `start_workers'", "/nas/logstash-7.3.0/logstash-core/lib/logstash/java_pipeline.rb:146:in `run'", "/nas/logstash-7.3.0/logstash-core/lib/logstash/java_pipeline.rb:105:in `block in start'"], :thread=>"#<Thread:0x673f5fa3 run>"}
[2020-09-10T23:48:51,350][ERROR][logstash.agent           ] Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}

可能的原因:

  1. 配置文件的参数或者格式有问题
  2. 这有可能是因为 tracking_column 之前按照 numeric 类型运行,后来改成 timestamp ,检查last_run_metadata_path,默认路径 $HOME/.logstash_jdbc_last_run,如果是因为以上原因,删除重新创建即可
  3. 缺少关键配置字段