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



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

例如,"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"
   }
}

在这两种方法中,第一种方法的计算强度较小。

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

相关内容

  • 没有找到相关文章

最新更新