Logstash:如何将文件名中的日期/时间用作导入字段

时间:2015-02-02 11:44:22

标签: elasticsearch logstash kibana grok

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

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:2)

使用grok filter提取日期和时间:

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

根据内容而不是XXXXXX_XX,您可能更喜欢更严格的表达方式。此外,GREEDYDATA也不是非常有效。这可能会产生更好的性能:

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