发布于 2018-06-05 12:53:11
您可以使用kv filter通过正则表达式从键中删除前缀。它帮助自动解析foo=bar
类型的消息(或特定的事件字段),并具有用于从键中删除字符串的配置选项remove_char_key
。
例如,这将从密钥中删除<
、>
、[, ]
和,
字符
filter {
kv {
remove_char_key => "<>\[\],"
}
}
另一个选项是remove_char_value
,它可用于从值中删除字符
例如,这将从值中删除<
、>
、[, ]
和,
字符
filter {
kv {
remove_char_value => "<>\[\],"
}
}
这些可与source
一起使用,以在上执行key=value
搜索
filter {
kv {
source => "message"
remove_char_value => "<>\[\],"
remove_char_key => "<>\[\],"
}
}
请同时查看trim_key和trim_value选项
发布于 2018-05-31 17:49:45
如果您只想删除名为fieldname
的字段的第一个字符的下划线,您可以使用:
mutate {
gsub => [
"fieldname", "^_", ""
]
}
发布于 2018-06-04 22:02:43
您将需要求助于ruby
过滤器,该过滤器查找以_
开头的关键字,并基本上重命名它们(将值复制到新关键字,然后删除原始关键字):
filter {
ruby {
code => "
event.to_hash.keys.each { |k|
if k.start_with?('_')
event.set(k[1,-1],event.get(k))
event.remove(k)
end
}
"
}
}
https://stackoverflow.com/questions/50620819
复制相似问题