如何 grok catalina 日志文件
How to grok catalina log file
我正在尝试为 apache tomcat 8 安装的这一行日志(从 catalina.log 中提取)找到一个模式。
30-Apr-2019 15:40:40.044 INFOS [main] org.apache.catalina.startup.VersionLoggerListener.log message
logstash 中包含的任何日期模式都不符合此日期格式。
您知道如何将此日期 30-Apr-2019 15:40:40.044
解析为我的 logstash 过滤器中的时间戳吗?
谢谢
如@baudsp 所述,您可以使用自定义模式文件为 catalina 添加日期模式,或将其嵌入到 grok 中,如图 here
(?<date>%{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}))
如果你经常使用这个模式,把它放在一个文件中可能会更好,并提供更多的可读性
终于有了解决办法:
我在文件中放入了一个新模式custom.txt
MY_DATE_PATTERN %{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND})
然后在我的 logstash.conf 中放入这个过滤器 :
grok {
patterns_dir => ["./patterns"]
match => {
"message" => "%{MY_DATE_PATTERN:timestamp}%{SPACE}%{GREEDYDATA:loglevel}%{SPACE}\[%{GREEDYDATA:thread}\]%{SPACE}%{JAVACLASS:classname}%{SPACE}%{GREEDYDATA:logmessage}"
}
}
date {
match => [ "timestamp" , "dd-MMM-yyyy HH:mm:ss.SSS" ]
}
感谢您的帮助
我正在尝试为 apache tomcat 8 安装的这一行日志(从 catalina.log 中提取)找到一个模式。
30-Apr-2019 15:40:40.044 INFOS [main] org.apache.catalina.startup.VersionLoggerListener.log message
logstash 中包含的任何日期模式都不符合此日期格式。
您知道如何将此日期 30-Apr-2019 15:40:40.044
解析为我的 logstash 过滤器中的时间戳吗?
谢谢
如@baudsp 所述,您可以使用自定义模式文件为 catalina 添加日期模式,或将其嵌入到 grok 中,如图 here
(?<date>%{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}))
如果你经常使用这个模式,把它放在一个文件中可能会更好,并提供更多的可读性
终于有了解决办法:
我在文件中放入了一个新模式custom.txt
MY_DATE_PATTERN %{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND})
然后在我的 logstash.conf 中放入这个过滤器 :
grok {
patterns_dir => ["./patterns"]
match => {
"message" => "%{MY_DATE_PATTERN:timestamp}%{SPACE}%{GREEDYDATA:loglevel}%{SPACE}\[%{GREEDYDATA:thread}\]%{SPACE}%{JAVACLASS:classname}%{SPACE}%{GREEDYDATA:logmessage}"
}
}
date {
match => [ "timestamp" , "dd-MMM-yyyy HH:mm:ss.SSS" ]
}
感谢您的帮助