Logstash截断插件是否仅在消息确实被截断时才添加标签?

时间:2018-12-20 13:15:04

标签: logstash

根据documentation,Logstash的truncate fliter插件可以添加标签“如果过滤器成功”:

  

add_tag   值类型为数组   预设值为[]   如果此过滤器是   成功后,向事件添加任意标签。标签可以是动态的   使用%{field}语法包含事件的一部分。

这是否意味着仅在字段被截断的情况下添加标签,或者即使字段未被截断也每次应用过滤器?我想要第一个行为。

1 个答案:

答案 0 :(得分:1)

我花了两分钟进行测试。

使用此配置:

input {
  stdin {

  }
}
filter {
    truncate{
        length_bytes => 10
        add_tag => ["tag"]          
    }       
}
output {
  stdout {
    codec => json
  }
}

输入:test

输出:{"tags":["tag"],"host":"notTellingYou","@timestamp":"someTime","message":"test\r","@version":"1"}

输入:01234567890123456789

输出:{"tags":["tag"],"host":"notTellingYou","@timestamp":"someTime","message":"0123456789","@version":"1"}

即使没有任何字段被截断,标签也会始终应用。