TIMESTAMP GROK FAILURE

问题描述 投票:0回答:1

grok时间戳模式的一些问题

2020-3-4 10:22:37 >> this will match with this pattern %{TIMESTAMP_ISO8601:my_time}

2020-3-4 0:2:37 >> this will fail with this pattern %{TIMESTAMP_ISO8601:my_time}

还尝试通过使用像YEAR MONTH AND DAY这样的单独模式来匹配该模式,但是再次达到时间%{HOUR}:%{MINUTE}:%{SECOND}时它将断开。有什么主意吗?

logstash logstash-grok
1个回答
0
投票

问题在于日志格式中的分钟模式is defined(?:[0-5][0-9])。此模式需要一个两位数的分钟数,在第二种情况下会中断(2020-3-4 0:2:37)。

我已经更改了模式以接受一位数字的分钟数:(?:[0-5][0-9]|[0-9])

然后您可以使用此自定义模式:

(?<my_time>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?(?:[0-5][0-9]|[0-9])(?::?%{SECOND})?%{ISO8601_TIMEZONE}?)

这是用我的图案替换为TIMESTAMP_ISO8601MINUTE

© www.soinside.com 2019 - 2024. All rights reserved.