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);
我正在尝试根据 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);