mutate过滤器能够帮助你修改指定字段的内容。
该过滤器指定配置:
mutate {
}
具体参数配置如下:
1、转变参数类型 convert
mutate {
convert => {
"name" => "string"
"age" => "integer"
}
}
2、复制字段 copy
复制一个已存在的字段到另外一个字段,已存在的字段会被重写到一个新的字段,新的字段不需要单独添加
mutate {
copy => {"name" => "name2"}
}
3、正则表达式替换 gsub
这里只针对string类型字段,如下把name字段中的“o”替换为“p”
mutate {
gsub => ["name","o","p"]
}
4、大小写转换 lowercase&uppercase
mutate {
#lowercase => [ "name" ]
uppercase => [ "name" ]
}
5、字段重命名 rename
mutate {
rename => {"name" => "name3"}
}
6、除去字段值前后空格 strip
mutate {
strip => ["name"]
}
7、更新字段值 update
mutate {
update => {"name" => "li"}
}
8、修改字段 replace
作用和 update 类似,但是当字段不存在的时候,它会起到 add_field 参数一样的效果,自动添加新的字段。
9、移除字段 remove_field
mutate {
remove_field => ["name"]
}
10、增加字段 add_field
mutate {
add_field => {"testField1" => "0"}
add_field => {"testField2" => "%{name}"} #引用name中的值
}
执行次序
rename(event) if @rename
update(event) if @update
replace(event) if @replace
convert(event) if @convert
gsub(event) if @gsub
uppercase(event) if @uppercase
lowercase(event) if @lowercase
strip(event) if @strip
remove(event) if @remove
split(event) if @split
join(event) if @join
merge(event) if @merge
filter_matched(event)