0

我有一堆名为“XXXXXX_XX_yymmdd_hh:mm:ss.txt”的日志文件 - 我需要在添加到 Logstash 的字段中包含文件名中的日期和时间(单独的字段)。

任何人都可以帮忙吗?

谢谢

4

1 回答 1

3

使用grok 过滤器提取日期和时间:

filter {
  grok {
    match => [
      "path",
      "^%{GREEDYDATA}/[^/]+_%{INT:date}_%{TIME:time}\.txt$"
    ]
  }
}

根据具体情况而不是 XXXXXX_XX,您可能更喜欢更严格的表达式。此外,GREEDYDATA 效率不高。这可能会产生更好的性能:

filter {
  grok {
    match => [
      "path", "^(?:/[^/]+)+/[^/]+_%{INT:date}_%{TIME:time}\.txt$"
    ]
  }
}
于 2015-02-02T14:07:20.710 回答