【问题标题】:grok{} pattern for date format "dd MMM yyyy HH:mm:ss"日期格式“dd MMM yyyy HH:mm:ss”的 grok{} 模式
【发布时间】:2015-11-24 07:23:30
【问题描述】:

我的日志文件的日期模式是

10 Sep 2014 07:16:33

我在 grok-patterns 中添加了一个自定义模式

DATE_DMMY %{MONTHDAY} %{MONTH}/%{YEAR}
DATE %{DATE_US}|%{DATE_EU}|%{DATE_YMD}|%{DATE_DMMY}
DATESTAMP %{DATE} %{TIME}

在我的 logstash.conf 中,我按如下方式使用它

filter {

grok {
patterns_dir => "/root/mypatterns"
match => ["message", "%{DATESTAMP:LOG_DATE}"]
}

date {
match => ["LOG_DATE", "dd MMM yyyy HH:mm:ss"]
}

}

但是当我执行时我得到了

 [0] "_grokparsefailure"

请告诉我这里有什么问题。谢谢

【问题讨论】:

  • 您可以通过https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html。我相信这会对你有所帮助......

标签: date pattern-matching logstash grok


【解决方案1】:

您正在使用以 DATE 开头的 DATESTAMP。

日期是以下之一:

  • DATE_US,即 11/23/2015 或 11-23-2015(与您的输入不匹配)
  • DATE_EU,即 23/11/2015 或 23.11.2015(与您的输入不匹配)
  • DATE_YMD,我没有看到任何地方定义
  • DATE_DMMY,即“23 11/2015”(与您的输入不匹配)

制作与您的输入相匹配的模式!此外,您很少需要一种模式来扩展两个 4 其他这样的模式。想象一下,将正则表达式应用于每个通过的文档会是什么样子。

【讨论】:

  • DATE_DMMY %{MONTHDAY} %{MONTH} %{YEAR} 解决了这个问题。谢谢。
猜你喜欢
  • 2017-10-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
  • 2015-12-01
相关资源
最近更新 更多