摘要:我的日志具有如下所示的日期格式:
2013/05/09-05:19:16.772
现在我想使用 logstash 并将这些日志发送到弹性搜索。但问题是我希望时间戳值应该是日志的值而不是当前时间。
因此,我写了以下内容。这失败了:
Invalid format: "2013/05/09-05:19:16.876" is malformed at "/05/09-05:19:16.876", :backtrace=>["org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:866)"
我的conf文件是:
input {
stdin {
type => "stdin-type"
}
}
filter {
grok {
type => "stdin-type"
patterns_dir=>["./patterns"]
pattern => "%{PARSE_ERROR}"
add_tag=>"%{type1},%{type2},%{slave},ERR_SYSTEM"
}
date {
type => "stdin-type"
match=>["ts","yyyy/mm/dd-HH:mm:ss.SSS"]
locale=>"en"
}
mutate {
type=>"stdin-type"
replace => ["@message", "%{message}" ]
replace => ["@timestamp", "%{ts}" ]
}
}
output {
stdout { debug => true debug_format => "json"}
elasticsearch { }
}
我真的被困在这里了。需要一些专家的帮助。
谢谢。