Logstash 6.2.4-匹配时间不默认为当前日期
我使用logstash 6.2.4进行以下配置:Logstash 6.2.4-匹配时间不默认为当前日期,logstash,logstash-grok,Logstash,Logstash Grok,我使用logstash 6.2.4进行以下配置: input { stdin { } } filter { date { match => [ "message","HH:mm:ss" ] } } output { stdout { } } 通过以下输入: 10:15:20 我得到这个输出: { "message" => "10:15:20", "@version" => "1", "host" =
input {
stdin { }
}
filter {
date {
match => [ "message","HH:mm:ss" ]
}
}
output {
stdout { }
}
通过以下输入:
10:15:20
我得到这个输出:
{
"message" => "10:15:20",
"@version" => "1",
"host" => "DESKTOP-65E12L2",
"@timestamp" => 2019-01-01T09:15:20.000Z
}
我只有一个时间信息,但希望将其解析为当前日期。请注意,当前日期为1。2019年3月,所以我猜
2019-01-01
是某种违约
如何解析时间信息并向其中添加当前日期信息
我对任何
replace
或其他块都不感兴趣,因为根据文档,解析时间应该默认为当前日期。您需要添加一个新字段,将当前日期与包含您的时间信息的字段合并,在您的示例中是消息
字段,然后,您的date
过滤器需要针对这个新字段进行测试,您可以使用以下配置进行测试
filter {
mutate {
add_field => { "current_date" => "%{+YYYY-MM-dd} %{message}" }
}
date {
match => ["current_date", "YYYY-MM-dd HH:mm:ss" ]
}
}
结果会是这样的:
{
"current_date" => "2019-03-03 10:15:20",
"@timestamp" => 2019-03-03T13:15:20.000Z,
"host" => "elk",
"message" => "10:15:20",
"@version" => "1"
}
我也这么想。谢谢你的澄清。