我正试图调整路径名称,使其不再具有附加到末尾的时间戳。我输入了许多不同的日志,因此为每个可能的日志编写条件过滤器是不切实际的。如果可能的话,我想把值的最后九个字符剪掉。
例如,"random.log-20140827"
将变成"random.log"
。
mutate {
gsub => [
"path", "-d{8}$", ""
]
}
所以如果你知道它总是随机。日志-什么的
if [path] =~ /random.log/ {
mutate {
replace => ["path", "random.log"]
}
}
如果你想"修复"任何包含日期的内容:
if [path] =~ /-dddddddd/ {
grok {
match => [ "path", "^(?<pathPrefix>[^-]+)-" ]
}
mutate {
replace => ["path", "%{pathPrefix}"]
remove_field => "pathPrefix"
}
}
在这两种方法中,第一种方法的计算强度较小。
我还没有测试过这两个,但它们应该可以工作。