logstash filters/mutate 插件

filters/mutate 插件是 Logstash 另一个重要插件。它提供了丰富的基础类型数据处理能力。包括类型转换,字符串处理和字段处理等。
gsub:
替换字符,例如在CSDN数据库获取到的mail邮箱最后都带有\r,可以利用gsub将\r替换为空。gsub => [“mail”,”\r”,””]

split:
split => [“message”, “|”]
随意输入一串以|分割的字符,比如 “123|321|adfd|dfjld*=123″,可以看到如下输出:
“message” => [
[0] “123”,
[1] “321”,
[2] “adfd”,
[3] “dfjld*=123”
],

join:
仅对数组类型字段有效,我们在之前已经用 split 割切的基础再 join 回去。配置改成:
filter {
mutate {
split => [“message”, “|”]
}
mutate {
join => [“message”, “,”]
}
}

merge:
合并两个数组或者哈希字段。

strip:
过滤掉空格,strip => [“field1”, “field2”]
update:
更新某个字段的内容。如果字段不存在,不会新建。update => { “sample” => “My new message” }
rename:
重命名某个字段,如果目的字段已经存在,会被覆盖掉。rename => [“syslog_host”, “host”]
replace:
作用和 update 类似,但是当字段不存在的时候,它会起到 add_field 参数一样的效果,自动添加新的字段。
lowercase:
lowercase => [ “fieldname” ] 转换为小写
uppercase:
uppercase => [ “fieldname” ]转换为大写