Logstash mutate过滤器

时间:2016-03-15 11:16:13

标签: field logstash

在我的日志中,我能够看到数据库密码。我想删除与某个特定方法匹配的字段。下面是示例日志格式。

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匹配时,它不应该传递值字段,对于它应传递的其他方法

2 个答案:

答案 0 :(得分:0)

尝试:

killall nano

答案 1 :(得分:0)

找到了我们可以使用gsub过滤器的答案

例如:
 gsub =&gt; [“message”,“value =%{Value}”,“”]