grok{} date format "dd MMM yyyy HH:mm:ss" 的模式



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

10 Sep 2014 07:16:33

我在grok图案中添加了一个自定义图案

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"

请告诉我这里出了什么问题。感谢

您使用的是DATESTAMP,它以DATE开头。

DATE是其中之一:

  • DATE_US,即2015年11月23日或2015年11日至23日(与您的输入不匹配)
  • DATE_EU,即2015年11月23日或2015年12月23日(与您的输入不匹配)
  • DATE_YMD,我认为它在任何地方都没有定义
  • DATE_DMMY,即"2015年11月23日"(与您的输入不匹配)

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

相关内容

  • 没有找到相关文章

最新更新