我正在尝试将字符串值更改为logstash中的日期时间。尽管格式正确,但在 kibana/elastic 搜索中,该字段显示的是字符串而不是日期。
作为分析的一部分,我尝试以多种方式改变日期,但它们都不起作用。我尝试了一些毫秒和半天的过滤器,因为我的日志的日期格式是 AM/PM。
格罗克
match => { message => [
"\"%{WORD:status}\"\,\"(?<monitortime>%{MONTH:month}%{SPACE}%{MONTHDAY:day}\,%{SPACE}%{YEAR:year}%{SPACE}%{TIME:t1}%{SPACE}%{WORD:t2})\"\,\"%{WORD:monitor}\"\,%{INT:loadtime}\,%{INT:totalbytes}\,\"%{WORD:location}\"\,(?m)%{GREEDYDATA:error}"
日期转换
date {
locale => "en"
match => [ "monitortime", "MMM dd, yyyy kk:mm:ss.SSS aa ZZZ", "YYYY-MM-dd kk:mm:ss.SSS aa ZZZ" ]
timezone => "Etc/UCT"
}
kibana 中的输出
message "Error","Jun 14, 2019 02:47:33 pm","xxxxxxxxxx",0,0,"stage_1","HomePage: Sign in link is not visible!"
monitortime Jun 14, 2019 02:47:33 pm
monitortime string
Timestamp recorded by elasticsearch
@timestamp Sep 10, 2019 @ 20:06:48.525
预期的结果将是获取监视时间作为数据类型日期。