【问题标题】:Nginx logs without year and seconds information没有年份和秒信息的 Nginx 日志
【发布时间】:2023-03-14 15:10:02
【问题描述】:

我有 Nginx 作为负载均衡器,它生成的日志没有时间戳中的年份和秒信息。其中一个日志是

08-10 09:28 root         ERROR    Error connecting to CRS REST API : [Errno 111] Connection refused
Error connecting to CRS REST API : [Errno 111] Connection refused

这个模式是: (?m)%{MONTHNUM:monthNum}\-%{MONTHDAY:monthDay}\s*%{HOUR:hour}:%{MINUTE:minute}\s*%{WORD}\s*%{LOGLEVEL_CUSTOM:severity}\s*%{GREEDYDATA:messagePayload}

虽然我知道 Logstash 可以用当前年份来完成年份信息,但这对我来说很好,因为日志不是旧的并且每天都收集,但秒部分很重要。我不知道该怎么做? 另外一件事,我正在使用date 过滤器将其转换为要存储在 Elasticsearch 中的时间戳,如下所示:

mutate {
    add_field => { "timestamp" => "%{monthDay}%{monthNum} %{hour}:{minute}" }
}

date {
    match => ["timestamp","ddMM HH:mm", "YYYY-MM-dd HH:mm:ss,SSS", "YYYY-MM-dd HH:mm:ss", "YYYY/MM/dd HH:mm:ss", "dd/MMM/yyyy:HH:mm:ss Z", "ddMMYYYY HH:mm:ss", "ISO8601", "YYYY-MM-dd HH:mm:ss,SSSSSS", "YYYY-MM-dd HH:mm:ss.SSS", "YYYY-MM-dd HH:mm:ss.SSSSSS"]
    locale => "en"
    timezone => "UTC"
    target => "@timestamp"
}

它没有正确解析它,并且 Elasticsearch 中的时间戳不同,不是日期和时间。 有线索吗?

【问题讨论】:

    标签: elasticsearch logstash logstash-grok logstash-configuration


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 2014-07-30
    • 2023-03-13
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多