{ -6ren">
gpt4 book ai didi

logstash - 使用mutate中的convert将所有以 "id"结尾的字段转换为整数?

转载 作者:行者123 更新时间:2023-12-04 15:32:06 25 4
gpt4 key购买 nike

目前我在我的 logstash 配置文件中做这样的事情:

filter {
...
mutate {
...
convert => {
"blahId" => "integer"
"blahblahId" => "integer"
...
...
"b...blahId" => "integer"
}
...
}
...
}

所以基本上我想将所有以“Id”结尾的字段转换为整数类型。有没有办法在一行中做到这一点?类似 "*Id" => "integer"哪个呢?

编辑 : 我试过
convert => {
"*Id" => "integer"
}

正如我所料,没有奏效。

也许使用 ruby​​ 过滤器?

最佳答案

不是具体的答案,但这就是我最终要做的:

ruby {
code => "
fieldArray = event['kvmess'].split('|');
for field in fieldArray
name = field.split('=')[0];
value = field.split('=')[1];
if value =~ /\A\d+\Z/
event[name] = value.to_i
else
event[name] = value
end
end
"
}

我的 kvmess 就像“blahId=123|blahblahId=456|some=thing|b..blahId=789”。
因此,这将所有具有数值的键转换为整数类型。

有一个插件 - kv 专门用于此,但它没有将数据类型更改为 int 的功能,所以我最终使用了这个 ruby​​ 插件。

关于logstash - 使用mutate中的convert将所有以 "id"结尾的字段转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38177877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com