I have a local docker ELK stack OSS image running and it works.
Version: 6.5.4
When deployed into the enterprise ELK stack which is 6.5.4, it crashes the logstash instance.
Error:
[2019-10-21T10:58:20,568][ERROR][logstash.filters.ruby ] Ruby exception occurred: undefined method `to_i' for [284, 0]:Array
Did you mean? to_h
to_a
to_s
[2019-10-21T10:58:20,699][ERROR][logstash.pipeline ] Exception in pipelineworker, the pipeline stopped processing new events, please check your filter configuration and restart Logstash. {:pipeline_id=>"main", "exception"=>"undefined method `>' for nil:NilClass", "backtrace"=>["(eval):8760880:in `block in initialize'", "org/jruby/RubyArray.java:1734:in `each'", "(eval):8760878:in `block in initialize'", "(eval):8760903:in `block in initialize'", "org/jruby/RubyArray.java:1734:in `each'", "(eval):8760895:in `block in initialize'", "(eval):237947:in `block in filter_func'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:341:in `filter_batch'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:320:in `worker_loop'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:286:in `block in start_workers'"], :thread=>"#<Thread:0x6eb15724@/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:157 sleep>"}
[2019-10-21T10:58:20,961][FATAL][logstash.runner ] An unexpected error occurred! {:error=>#<NoMethodError: undefined method `>' for nil:NilClass>, :backtrace=>["(eval):8760880:in `block in initialize'", "org/jruby/RubyArray.java:1734:in `each'", "(eval):8760878:in `block in initialize'", "(eval):8760903:in `block in initialize'", "org/jruby/RubyArray.java:1734:in `each'", "(eval):8760895:in `block in initialize'", "(eval):237947:in `block in filter_func'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:341:in `filter_batch'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:320:in `worker_loop'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:286:in `block in start_workers'"]}
[2019-10-21T10:58:21,095][ERROR][org.logstash.Logstash ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit
[2019-10-21T10:58:37,143][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.5.4"}
Ruby code in logstash filter is as below.
ruby {
code => 'event.set("alertmeval",event.get("CurrentVal").to_i - (event.get("MaxValAllowed").to_i*0.7))'
}
mutate {
convert => {
"CurrentVal" => "integer"
"MaxValAllowed" => "integer"
}
}
MaxValAllowed
can be from 5000 to 200000.