我正在尝试调整路径名,以便它不再在末尾附加时间戳。我输入了许多不同的日志,因此为每个可能的日志编写条件过滤器是不切实际的。如果可能的话,我只想修剪该值的最后九个字符。
例如"random.log-20140827"
将成为"random.log"
。
答案 0 :(得分:5)
mutate {
gsub => [
"path", "-\d{8}$", ""
]
}
答案 1 :(得分:3)
所以,如果你知道它总是随机的.log-something -
if [path] =~ /random.log/ {
mutate {
replace => ["path", "random.log"]
}
}
如果你想"修复"任何有日期的东西:
if [path] =~ /-\d\d\d\d\d\d\d\d/ {
grok {
match => [ "path", "^(?<pathPrefix>[^-]+)-" ]
}
mutate {
replace => ["path", "%{pathPrefix}"]
remove_field => "pathPrefix"
}
}
在这两者中,第一个是计算密集度较低。
我还没有对这些中的任何一个进行测试,但它们应该有效。