我正在尝试从 grok 模式计算值。我的数据正在从 filebeat 发送到 logstash。
我的简单 grok 模式 dor 测试:
match => ["message", "^%{INT:nb1} \| %{INT:nb2}$"]
我想添加这 2 个值(nb1 和 nb2)。
我尝试了这两种可能性:
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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句