logstash关于date时间处理的几种方式总结

1、第一种,直接在配置文件中自定义时间格式

这是tomcat配置文件中的一段日志时间配置,按照这样的配置,那么输出的日志是这样子的:

然后你继续在logstash中这样子配置

此时logstash就不会报"_dateparsefailed"错误了。

这种形式在nginx、apache等web服务器中配置是最好的,也比较方便分析。

2、第二种,带有中括号的(其实跟上面是一回事)

日志本身输出是这样子的

[07/Feb/2018:16:24:19 +0800]

带有一对中括号

那么在grok插件中这样子定义就行:

\[%{HTTPDATE:timestamp}\]

date插件可以直接转换,如下:

最后的效果是这样子的

这样子也不会报错

3、ISO8601形式

在日志文件中原生日志是这样子的:

2019-03-19 13:08:07.782

重点是后面的”.782“,后面附加以毫秒为单位的。

 那么grok插件中可以这样子定义匹配的规则:

此时date插件可以这样子定义:

 date {
                match => [ "access_time","MMM  d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601"]
        }

上面的形式没有写错,直接复制粘贴到配置文件即可

最后匹配如下:

这样子也不会报”_dateparsefailed“错误。

最后附加一张时间匹配规则表,平时可做参考

 遇到其他的继续总结: 

猜你喜欢

转载自www.cnblogs.com/FengGeBlog/p/10559034.html
今日推荐