Как ввести данные в logstash

Я пытаюсь ввести файл csv в elasticsearch через logstash.

Это мой файл конфигурации

input {
  file {
    codec => plain{
    charset => "ISO-8859-1"
    }
    path => ["PATH/*.csv"]
    sincedb_path => "PATH/.sincedb_path"
    start_position => "beginning"
  }
}
filter {

    if [message] =~ /^"ID","DATE"/ {
    drop { }
    }
  date {
    match => [ "DATE","yyyy-MM-dd HH:mm:ss" ]
    target => "DATE"
  }
    csv {
    columns => ["ID","DATE",...]
    separator => ","
    source => message
    remove_field => ["message","host","path","@version","@timestamp"]
  }
}

output {

     elasticsearch {
    embedded => false
    host => "localhost"
    cluster => "elasticsearch"
    node_name => "localhost"
    index => "index"
    index_type => "type"
  }
}

Теперь сопоставление, созданное в elasticsearch, вводит поле DATE в виде строки. Я хотел бы ввести как поле даты.

В элементе фильтра я попытался преобразовать поле типа в дату, но это не сработало.

Как я могу это исправить?

С уважением, Александр


person Alexandre T    schedule 26.01.2015    source источник


Ответы (1)


Ваша цепочка фильтров настроена в неправильном порядке. Блок date{} должен идти после блока csv {}.

person Alcanzar    schedule 26.01.2015