Я пытаюсь взять три столбца и объединить их в два новых поля
Пример: Job_Date 6 \ 5 \ 2019 Job_Start_Time 0:00 Job_End_Time 0: 00
В новые поля:timestamp_start 5/5/2019, 0:00 timestamp_end 5/5/2019, 0: 00
Новые поля создаются, но я получаю ошибку разбора ниже.
{
"@timestamp" => 2019-06-22T21:08:20.370Z,
"Warning" => 60,
"path" => "/Users/*******/Desktop/Logstash-Files/ax_batch_performance_test_new.csv",
"message" => "job",6/4/2019,13:45,13:45,6,120,60,15\r",
"tags" => [
[0] "_dateparsefailure"
],
"host" => "host",
"Job_Duration" => 6,
"timestamp_end" => "6/4/2019 13:45",
"Job_Start_Time" => "13:45",
"Critical" => 120,
"@version" => "1",
"Job_End_Time" => "13:45",
"Job_Date" => "6/4/2019",
"timestamp_start" => "6/4/2019 13:45",
"Target" => 15,
"Job_Name" => "job name"
Я использую logstash версии 7.1.1.Я попытался запустить команду mutate внутри и за пределами плагина даты .... Если это имеет значение, я все еще учусь.
Я успешно проанализировал формат даты точно так же, как это раньше, но не путем создания нового поля и объединения данных и времени.
filter{
csv {
separator => ","
columns => ["Job_Name", "Job_Date", "Job_Start_Time", "Job_End_Time", "Job_Duration", "Critical", "Warning", "Target"]
}
mutate {convert => ["Job_Duration", "integer"]}
mutate {convert => ["Critical", "integer"]}
mutate {convert => ["Warning", "integer"]}
mutate {convert => ["Target", "integer"]}
mutate { add_field => {"timestamp_start" => "%{Job_Date} %{Job_Start_Time}"}}
mutate { add_field => {"timestamp_end" => "%{Job_Date} %{Job_End_Time}"}}
date {
match => ["timestamp_start", "M/d/yyyy, HH:MM"]
timezone => "UTC"
}
date {
match => ["timestamp_end", "M/d/yyyy, HH:MM"]
timezone => "UTC"
}
}
Я ожидаю, что дата и время будут проанализированы и помещены в @timestamp как дата.