带有时区的时间戳的 Grok patterN
Grok patterN for timestamp with timezone
我在 Logstash 中收到带有如下时间戳的系统日志消息:
Jan 11 17:02:09+01:00
我想知道应该使用哪种 Grok 模式来解析它。
我试过 %{SYSLOGTIMESTAMP:syslog_timestamp}
,但它不起作用。我是 Logstash 的新手,我不知道如何处理时区部分。
您可以定义扩展 SYSLOGTIMESTAMP 的自定义模式。
grok {
pattern_definitions => { "TIMESTAMPWITHTZ" => "%{SYSLOGTIMESTAMP}[-+]\d{2}:\d{2}" }
match => { "message" => "%{TIMESTAMPWITHTZ:[@metadata][timestamp]}" }
}
date { match => [ "[@metadata][timestamp]", "MMM dd HH:mm:ssZZ", "MMM d HH:mm:ssZZ" ] }
请注意系统日志时间戳不包括年份。 logstash 有启发式方法来解决这个问题(例如,如果当前日期是一月,而日志条目是从十二月开始的,那么假设它是从前一年开始的)。启发法并不完美,有时会分配错误的年份。
我在 Logstash 中收到带有如下时间戳的系统日志消息:
Jan 11 17:02:09+01:00
我想知道应该使用哪种 Grok 模式来解析它。
我试过 %{SYSLOGTIMESTAMP:syslog_timestamp}
,但它不起作用。我是 Logstash 的新手,我不知道如何处理时区部分。
您可以定义扩展 SYSLOGTIMESTAMP 的自定义模式。
grok {
pattern_definitions => { "TIMESTAMPWITHTZ" => "%{SYSLOGTIMESTAMP}[-+]\d{2}:\d{2}" }
match => { "message" => "%{TIMESTAMPWITHTZ:[@metadata][timestamp]}" }
}
date { match => [ "[@metadata][timestamp]", "MMM dd HH:mm:ssZZ", "MMM d HH:mm:ssZZ" ] }
请注意系统日志时间戳不包括年份。 logstash 有启发式方法来解决这个问题(例如,如果当前日期是一月,而日志条目是从十二月开始的,那么假设它是从前一年开始的)。启发法并不完美,有时会分配错误的年份。