日期格式的 grok{} 模式 "dd MMM yyyy HH:mm:ss"
grok{} pattern for date format "dd MMM yyyy HH:mm:ss"
我的日志文件的日期模式是
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"
请告诉我这里有什么问题。谢谢
您正在使用以 DATE 开头的 DATESTAMP。
DATE 是以下之一:
- DATE_US,即 11/23/2015 或 11-23-2015(与您的输入不符)
- DATE_EU,即 23/11/2015 或 23.11.2015(与您的输入不符)
- DATE_YMD,我在任何地方都看不到它的定义
- DATE_DMMY,即“23 11/2015”(与您的输入不符)
制作一个与您的输入相匹配的图案!此外,您很少需要像这样扩展两个 4 个其他模式的模式。想象一下,如果您将正则表达式应用到通过的每个文档,它会是什么样子。
我的日志文件的日期模式是
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"
请告诉我这里有什么问题。谢谢
您正在使用以 DATE 开头的 DATESTAMP。
DATE 是以下之一:
- DATE_US,即 11/23/2015 或 11-23-2015(与您的输入不符)
- DATE_EU,即 23/11/2015 或 23.11.2015(与您的输入不符)
- DATE_YMD,我在任何地方都看不到它的定义
- DATE_DMMY,即“23 11/2015”(与您的输入不符)
制作一个与您的输入相匹配的图案!此外,您很少需要像这样扩展两个 4 个其他模式的模式。想象一下,如果您将正则表达式应用到通过的每个文档,它会是什么样子。