【问题标题】:Logstash substring a field using position using mutateLogstash 使用 mutate 使用位置子串字段
【发布时间】:2019-11-27 07:33:22
【问题描述】:
我想知道在 mutate 过滤器中使用 add_field 时是否有使用子字符串的方法,可能使用 %{field} 语法。
例如:
filter {
mutate {
add_field => { "shorter_field" => "%{field[0:4]}" }
}
}
我看到了使用 ruby 过滤器的解决方案,但我更喜欢只使用 mutate,因为我正在使用过滤器进行一系列操作,我更喜欢保持简单
【问题讨论】:
标签:
logstash
logstash-filter
【解决方案1】:
试试这个:
(假设您需要该字段的前 4 个字符。)
代码:
filter {
mutate {
gsub => ["shorter_field", "(?<=^....)(.*)", ""]
}
}
这里除了前 4 个字符之外的所有字符都将从 shorter_field 中删除。
示例:
输入:
shorter_field = example_value
输出:
shorter_field = exam