Works fine for me.
$ cat test.config
filter {
csv {
columns => ["Date", "Time", "SWR", "RSSI(dB)", "RxBt(V)", "Cels(gRe)", "Tmp2(@C)", "RPM(rpm)", "Tmp1(@C)", "Rud", "Ele", "Thr", "Ail", "S1", "S2", "S3", "LS", "RS", "SA", "SB", "SC", "SD" ,"SE", "SF", "SG", "SH"]
separator => ","
}
mutate {
replace => [ "mydatetime", "%{Date}T%{Time}" ]
}
date {
locale => "en"
match => [ "mydatetime", "yyyy-MM-dd'T'HH:mm:ss.SSS"]
timezone => "America/New_York"
target => ["@timestamp"]
}
}
input { stdin {} }
output { stdout { codec => rubydebug } }
$ echo '2016-02-21,04:11:14.640,30,75,5.2,23.4,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,' | /opt/logstash/bin/logstash -f test.config
Settings: Default pipeline workers: 2
Logstash startup completed
{
"message" => "2016-02-21,04:11:14.640,30,75,5.2,23.4,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,",
"@version" => "1",
"@timestamp" => "2016-02-21T09:11:14.640Z",
"host" => "hallonet",
"Date" => "2016-02-21",
"Time" => "04:11:14.640",
"SWR" => "30",
"RSSI(dB)" => "75",
"RxBt(V)" => "5.2",
"Cels(gRe)" => "23.4",
"Tmp2(@C)" => "0",
"RPM(rpm)" => "0",
"Tmp1(@C)" => "0",
"Rud" => "0",
"Ele" => "0",
"Thr" => "0",
"Ail" => "0",
"S1" => "0",
"S2" => "0",
"S3" => "0",
"LS" => "0",
"RS" => "0",
"SA" => "-1",
"SB" => "-1",
"SC" => "-1",
"SD" => "-1",
"SE" => "-1",
"SF" => "-1",
"SG" => "-1",
"SH" => "-1",
"column27" => nil,
"mydatetime" => "2016-02-21T04:11:14.640"
}
Logstash shutdown completed