Nginx日志没有年份和秒数信息

时间:2016-08-11 09:01:37

标签: elasticsearch logstash logstash-grok logstash-configuration

我有Nginx作为loadbalancer,它在时间戳中生成没有年份和第二个信息的日志。其中一个日志是

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中的时间戳不相同,而不是日期和时间。 任何线索?

1 个答案:

答案 0 :(得分:0)