【问题标题】:Ruby code in logstash failing with _rubyexceptionlogstash 中的 Ruby 代码因 _rubyexception 而失败
【发布时间】:2016-12-08 17:34:01
【问题描述】:

我想获得有关 ruby​​ 过滤器代码的帮助。

logstash 版本是 5.0.0 alpha4。

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

  ruby {
    code => "
      event['newfield'] = 'test'
    "
  }

ruby 过滤器在过滤器 { } 中定义。 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}

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

谢谢, 于

【问题讨论】:

    标签: ruby elasticsearch logstash


    【解决方案1】:

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

      ruby {
        code => "
          event.set('newfield', 'test')
        "
      }
    

    【讨论】:

    • 工作就像一个魅力!谢谢!
    • 太棒了,很高兴它有帮助!
    【解决方案2】:

    从字段名中获取值:

    ruby {
     code => "
     value = (event.get('field_name'))
        "
    }
    

    【讨论】:

      猜你喜欢
      • 2015-11-19
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      相关资源
      最近更新 更多