将 logstash 中的日期字段解析为弹性搜索

Parsing a date field in logstash to elastic search

我正在尝试将日志文件从 IIS 解析到 ELK 堆栈(Logstash:2.3、Elastic:2.3 和 Kibana:4.5、CentOS 7 vm)。

我试图在我的 logstash 配置中使用下面的日期过滤器将日志消息中的日期字段解析为事件时间戳:

date {
    match => ["date_timestamp", "yyyy-MM-dd HH:mm:ss"]
    timezone => "Europe/London"
    locale => "en"
    target => "@timestamp"
} 

解析到 Elastic Search 的整个日志消息的前几个字符是:

"message": "2016-03-01 03:30:49  .........

上面的日期字段被解析为弹性搜索:

"date_timestamp": "16-03-01 03:30:49",

但是,使用上面的日期过滤器解析到 Elastic Search 的事件时间戳是:

"@timestamp": "0016-03-01T03:32:04.000Z",

我希望 @timestamp 正好是 2016-03-01T03:30:49,因为我无法立即弄清楚为什么小时和分钟之间存在差异。

我看过类似的问题和文档,例如this one on SO and this one on logstash documentation and logstash documentation.

任何正确方向的指示将不胜感激。

此致

所以

在您的 date_timestamp 中,年份只有 2 个字符:“16-03-01 03:30:49”,因此 03:30:49 中的日期模式=12=] 过滤器不正确,应该是:

date {
    match => ["date_timestamp", "yy-MM-dd HH:mm:ss"]
    timezone => "Europe/London"
    locale => "en"
    target => "@timestamp"
}