Logstash 修剪字段值,或删除部分值

Logstash 修剪字段值,或删除部分值,logstash,trim,logstash-grok,Logstash,Trim,Logstash Grok,我正在尝试调整路径名,使其不再具有附加到末尾的时间戳。我输入了许多不同的日志,因此为每个可能的日志编写条件过滤器是不切实际的。如果可能的话,我只想修剪值的最后九个字符 例如,“random.log-20140827”将变成“random.log”,,所以如果你知道它总是随机的-- 如果要“修复”任何包含日期的内容: if [path] =~ /-\d\d\d\d\d\d\d\d/ { grok { match => [ "path", "^(?<pathPrefix

我正在尝试调整路径名,使其不再具有附加到末尾的时间戳。我输入了许多不同的日志,因此为每个可能的日志编写条件过滤器是不切实际的。如果可能的话,我只想修剪值的最后九个字符


例如,
“random.log-20140827”
将变成
“random.log”
,,所以如果你知道它总是随机的--

如果要“修复”任何包含日期的内容:

if [path] =~ /-\d\d\d\d\d\d\d\d/ {
   grok {
      match => [ "path", "^(?<pathPrefix>[^-]+)-" ]
   }
   mutate {
      replace => ["path", "%{pathPrefix}"]
      remove_field => "pathPrefix"
   }
}
if[path]=~/-\d\d\d\d\d\d\d\d/{
格罗克{
匹配=>[“路径”,“^(?[^-]+)-”]
}
变异{
替换=>[“路径”,“%{pathPrefix}”]
删除\字段=>“路径前缀”
}
}
在这两种方法中,第一种方法的计算密集度较低


这两个我都没有测试过,但它们应该可以工作。

第二个是我需要的。非常感谢Alcanzar。在regexp方面,像/-\d+$/或/-\d{8}$/这样的东西怎么样?
mutate {
    gsub => [
        "path", "-\d{8}$", ""
    ]
}
mutate {
    gsub => [
        "path", "-\d{8}$", ""
    ]
}