简体   繁体   English

在 logstash 中使用条件

[英]Using a conditional in logstash

Has anyone ever added a conditional to an input?有没有人在输入中添加过条件? I'm using various versions of the beats plugin.我正在使用各种版本的节拍插件。 Versions less than 7.11 don't have @metadata I'd like to use two different indicies conditionally.低于 7.11 的版本没有 @metadata 我想有条件地使用两个不同的指标。 For example,例如,

15    beats {
16         port => "5000"
17         codec => "plain"
18         ssl => true
19         ssl_certificate_authorities => ["/etc/pki/logstash/logstashCA.pem"]
20         ssl_certificate => "/etc/pki/logstash/logstashCA.pem"
21         ssl_key => "/etc/pki/logstash/logstashCA.p8"
22         ssl_verify_mode => "force_peer"
23         if [version] not in [beat] {
24                 add_field => { "target_index" => "%{[@metadata][beat]}-%{[beat]}-7-%{+YYYY.MM.dd}" }
25         }
26         add_field => { "target_index" => "%{[@metadata][beat]}-%{[beat][version]}-%{+YYYY.MM.dd}" }
27    }

No, you cannot have a conditional based on fields of the event in an input because at the time the input is built no events exit.不,您不能在输入中具有基于事件字段的条件,因为在构建输入时没有事件退出。 However you can do it in the filter section但是,您可以在过滤器部分执行此操作

if [beat][version] {
    add_field => { "target_index" => "%{[@metadata][beat]}-%{[beat][version]}-%{+YYYY.MM.dd}" }
} else {
    add_field => { "target_index" => "%{[@metadata][beat]}-%{[beat]}-7-%{+YYY
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM