Logstash 时间戳格罗克故障

Logstash 时间戳格罗克故障,logstash,logstash-grok,Logstash,Logstash Grok,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} 还尝试使用此单独的模式(如年、月、日)来匹配该模式,但当到达时间%{HOUR}:%{MINUTE}:%{SECO

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}

还尝试使用此单独的模式(如
年、月、日
)来匹配该模式,但当到达时间
%{HOUR}:%{MINUTE}:%{SECOND}
时,该模式将再次中断。有什么想法吗?

问题在于日志中的分钟模式是如何存储的:
(?:[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}?)
(?{YEAR}-{MONTHNUM}-{MONTHDAY}[T]{HOUR}:?(?:[0-5][0-9]|[0-9])(?:?{SECOND})%{ISO8601_时区})

这是
时间戳_ISO8601
,其中
分钟
被我的模式替换。

问题似乎与分钟有关,logstash(
(?:[0-5][0-9])
)中定义的模式在所有情况下都需要两位数字。hI@baudsp,它可以正确处理修改后的分钟数字!!我没有意识到会议记录的问题!!非常感谢,非常感谢!!!