繁体   English   中英

带有时区的时间戳的 Grok 模式

[英]Grok patter for timestamp with timezone

我在 Logstash 中收到带有如下时间戳的 syslog 消息:

1月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 有启发式方法来解决这个问题(例如,如果当前日期是一月,而日志条目是十二月,那么假设它来自前一年)。 启发式方法并不完美,有时会分配错误的年份。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM