Logstash 使用 mutate 使用位置对字段进行子字符串化
Logstash substring a field using position using mutate
我想知道在 mutate 过滤器中使用 add_field
时是否有使用子字符串的方法,可能使用 %{field} 语法。
例如:
filter {
mutate {
add_field => { "shorter_field" => "%{field[0:4]}" }
}
}
我看到了使用 ruby 过滤器的解决方案,但我更喜欢只使用 mutate,因为我有一个使用过滤器进行的操作序列,我更喜欢保持简单
试试这个:
(假设您需要字段的前 4 个字符。)
代码:
filter {
mutate {
gsub => ["shorter_field", "(?<=^....)(.*)", ""]
}
}
此处除前 4 个字符外的所有字符将从 shorter_field
中删除。
示例:
输入:
shorter_field = example_value
输出:
shorter_field = exam
我想知道在 mutate 过滤器中使用 add_field
时是否有使用子字符串的方法,可能使用 %{field} 语法。
例如:
filter {
mutate {
add_field => { "shorter_field" => "%{field[0:4]}" }
}
}
我看到了使用 ruby 过滤器的解决方案,但我更喜欢只使用 mutate,因为我有一个使用过滤器进行的操作序列,我更喜欢保持简单
试试这个:
(假设您需要字段的前 4 个字符。)
代码:
filter {
mutate {
gsub => ["shorter_field", "(?<=^....)(.*)", ""]
}
}
此处除前 4 个字符外的所有字符将从 shorter_field
中删除。
示例:
输入:
shorter_field = example_value
输出:
shorter_field = exam