关于logstash中的gsub 使用规则
先上一个官网 demo
官网例子
filter {
mutate {
gsub => [
# replace all forward slashes with underscore
# 用下划线替换所有的斜杠
"fieldname", "/", "_",
# replace backslashes, question marks, hashes, and minuses
# with a dot "."
# 用一个".",替换反斜杠、问号、散列和减号
"fieldname2", "[\\?#-]", "."
]
}
}
解释上述demo:
- gsub是需要在mutate中使用
- 替换动作可以在一个gsub中操作,格式为 gsub[“内容1”,“被替换内容”,“替换结果内容”,“内容2”,“被替换内容”,“替换结果内容”]
- 被替换的地方可以使用正则匹配(具体的正则规则暂时没有找到,如果有大神有看到官网或者比较好的文章,欢迎留言推荐)
最后添加一个个人应用的demo
mutate {
gsub => ["message","[\\]","","message","[\\"]{","{","message","}[\\"]","}"]
}
上述作用是替换message中的反斜线,并且替换 “{ 为 { 替换 }” 为 }
简单来说就是去掉外层引号(这个让我测试了很多次,才发现[]只可以匹配正则,花括号写进去就是不行。泪奔┭┮﹏┭┮)
再简单来说就是 “{}” 替换成 {} ,方便json解析,加双引号是解析不了的
最后附上一个学习的传送门
logstash之mutate社区传送