在我的日志中,我能够看到数据库密码。我想删除与某个特定方法匹配的字段。下面是示例日志格式。
Date = 2016-02-23:00:36:29:242,Level = INFO,class = abc_class,method = abc_method,line = 266,name = dataSourceUser,message = returns Property,value = password
下面是我正在使用的示例logstashclient过滤器,但仍然可以看到值字段(密码)
filter {
grok {
match => {"message"=>"Date=(?<LogTime>%{YEAR:Year}-%{MONTHNUM:Month}-%{MONTHDAY:Day}:%{TIME:Time}), (Level=)(?<SeverityLevel>[A-Z]*)(\s)?, %{GREEDYDATA:message}"}
break_on_match => false
}
date {
match => ["LogTime", "YYYY-MM-dd:HH:mm:ss:SSS"]
target => "@timestamp"
}
if[method=="abc_method"]{
mutate {
remove_field => ["%{Value}"]
}
}
ETA:当它与method = abc_method匹配时,它不应该传递值字段,对于它应传递的其他方法
答案 0 :(得分:0)
尝试:
killall nano
答案 1 :(得分:0)
找到了我们可以使用gsub过滤器的答案
例如:
gsub =&gt; [“message”,“value =%{Value}”,“”]