Logstash Grok 计算匹配值

Logstash Grok Compute match values

我正在尝试根据 grok 模式计算值。我的数据正在从 filebeat 发送到 logstash。

我用于测试的简单 grok 模式:

match => ["message", "^%{INT:nb1} \| %{INT:nb2}$"]

我想添加这 2 个值(nb1 和 nb2)。

我尝试了这 2 种可能性:

mutate { add_field => { "test_Duration" => "%{nb1}+%{nb2}" } }

结果我有一个字符串。

ruby {
            code => "
             res = event['nb1'].to_i + event['nb2'].to_i;
            event.set('test', res);  "
          }

在 ruby 代码中我无法获得 nb1 和 nb2 值..

我不知道该怎么做..

============================ 解决方案 ==============================

将 ruby 代码与 event.get('var').to_i

结合使用
res =  event.get('nb1').to_i + event.get('nb2').to_i;
event.set('test', res); 

将 ruby 代码与 event.get('var').to_i

结合使用
res =  event.get('nb1').to_i + event.get('nb2').to_i;
event.set('test', res);