logstash中的Ruby代码因_rubyexception而失败

Yu *_*abe 2 ruby elasticsearch logstash

我想获得ruby过滤器中代码的帮助.

logstash版本是5.0.0 alpha4.

我正在测试ruby过滤器中的代码,如下所示,但我得到_rubyexception.

  ruby {
    code => "
      event['newfield'] = 'test'
    "
  }
Run Code Online (Sandbox Code Playgroud)

ruby过滤器在filter {}中定义.logstash.log显示如下,

:timestamp=>"2016-08-03T15:26:47.291000+0900", :message=>"Ruby exception occurred: undefined method[]=' for 2016-08-03T06:26:46.829Z test %{message}:LogStash::Event", :level=>:error}
Run Code Online (Sandbox Code Playgroud)

我找不到ruby过滤器无法使用事件对象的原因.如果能得到一些帮助来解决这个问题我很感激.

谢谢,余

Val*_*Val 7

Logstash 5.0.0中有一个新的事件API,现在您需要在事件上设置字段,如下所示:

  ruby {
    code => "
      event.set('newfield', 'test')
    "
  }
Run Code Online (Sandbox Code Playgroud)