Logstash如果配置丢弃事件

时间:2017-08-21 10:07:33

标签: elasticsearch logstash elastic-stack logstash-configuration

我正在使用ELK堆栈来保存自定义事件。我推送的事件可能包含也可能不包含名为feed.name的字段。 我正在使用此字段动态设置索引,因此如果它不存在,我想在将其发送到Elastic之前将其设置为unknown

以下是我的完整配置:

input {
        http{
                host => "XXXXXXXXX"
                port => xxxx
                codec => "json"
        }
}

filter{
        if ![feed.name]{
                mutate { add_field => { "feed.name"=> "unknown" }}
        }
        if [source.asn]{
                mutate { convert => {"source.asn" => "string"}}
        }
        if [destination.asn]{
                mutate { convert => {"destination.asn" => "string"}}
        }
}

output {
        elasticsearch {
                hosts => ["xxxxxxxxx:XXXX"]
                index => "l-%{feed.name}-%{+YYYY.MM.dd}"
        }
}

这是我的问题:当没有设置feed.name时,Logstash会正确设置它,一切都很好。但是,如果该字段存在,则该事件似乎被删除。

这里出现了两个问题:这个行为是如何解释的?而且,我怎样才能使它工作(或者有任何变通方法)?

0 个答案:

没有答案