[elk@Vsftp logstash]$ cat grok.conf 
input {stdin {}}
filter {
grok {
match =>{
"message" =>"\s+(?<request_time>\d+(?:\.\d+)?)\s+"
}
}
}

output {
stdout {
codec => rubydebug
}
}

[elk@Vsftp logstash]$ logstash -f grok.conf
Settings: Default pipeline workers: 4
Pipeline main started
BEGIN 123.321 END
{
"message" => "BEGIN 123.321 END",
"@version" => "1",
"@timestamp" => "2017-02-08T07:08:17.638Z",
"host" => "Vsftp",
"request_time" => "123.321"
}


可以看到这里时间变成了字符串

[elk@Vsftp logstash]$ cat grok.conf
input {stdin {}}
filter {
grok {
match =>{
"message" =>"\s+(?<request_time>\d+(?:\.\d+)?)\s+"
}
}
mutate {
convert =>["request_time","float"]
}
}

output {
stdout {
codec => rubydebug
}
}
[elk@Vsftp logstash]$ logstash -f grok.conf
Settings: Default pipeline workers: 4
Pipeline main started
BEGIN 123.321 END
{
"message" => "BEGIN 123.321 END",
"@version" => "1",
"@timestamp" => "2017-02-08T07:11:06.794Z",
"host" => "Vsftp",
"request_time" => 123.321
}

把字符串转换我float