CSV добавить поле разбора даты ошибки в logstash - PullRequest
2 голосов
/ 23 июня 2019

Я пытаюсь взять три столбца и объединить их в два новых поля

Пример: 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 как дата.

...