Logstash使用mutate使用位置将字段子字符串化

时间:2019-11-27 07:33:22

标签: logstash logstash-filter

我想知道在mutate过滤器中使用add_field时是否有一种使用子字符串的方法,也许使用%{field}语法。
例如:

filter {
    mutate {
        add_field => { "shorter_field" => "%{field[0:4]}" }
    }
}

我看到了使用ruby过滤器的解决方案,但我只喜欢使用mutate,因为我有一系列使用过滤器的操作,而且我希望保持简单

1 个答案:

答案 0 :(得分:1)

尝试一下:

(假设您需要该字段的前4个字符。)

代码:

filter {
    mutate {
        gsub => ["shorter_field", "(?<=^....)(.*)", ""]
    }
}

在这里,除前4个字符外的所有字符都将从shorter_field中删除。

示例:

输入:

shorter_field = example_value

输出:

shorter_field = exam