2016-06-14 5 views
0

Таким образом, данные, которые я хочу сохранить в Elasticsearch, представляют собой файл csv. Он содержит следующее:Не удалось выполнить синтаксический анализ @UNIX_MS из Logstash в Elasticsearch

1465309033156,84,http://test.com/purchase.php,200,OK,ThreadGroup 1-3,true,6,6,84,testPC,0 
1465309033469,176,http://test.com/,200,OK,ThreadGroup 1-7,true,7,7,176,testPC,91 

Обратите внимание, что первая строка равна времени в UNIX_MS.

Я пытаюсь отправить данные с помощью logstash. Вот мой конфигурационный файл:

input { 
    file { 
     sincedb_path => "NUL" 
     ignore_older => 0 
     type => "csv" 
     path => ["C:/result/piet.jtl"] 
     start_position => "beginning" 
    } 
} 
filter { 
    csv { 
     columns => ["@jmeter_timestamp", ...] 
     separator => "," 
    } 
    date { 
     locale => "en" 
     match => ["@jmeter_timestamp", "UNIX_MS"] 
     remove_field => ["@jmeter_timestamp"] 
     target => "@timestamp" 
     timezone => "Europe/Amsterdam" 
    } 
} 
output { 
    elasticsearch { 
     template => "c:/result/piet.json" 
     template_name => "piet" 
     hosts => ["192.168.43.51:9200"] 
     index => "piet-%{+YYYY.MM.dd}" 
    } 
} 

Вот часть piet.json:

"mappings": { 
    "logs": { 
     "properties": { 
      "@timestamp": { 
       "type": "date" 
      }, 

Сейчас я получаю сообщение об ошибке выполняется конфигурационный файл.

"error"=>{ 
    "type"=>"mapper_parsing_exception", 
    "reason"=>"failed to parse [@timestamp]", 
    "caused_by"=>{ 
    "type"=>"illegal_argument_exception", 
    "reason"=>"Invalid format: \"2016-06-07T14:17:34.611Z\" is malformed at \"-06-07T14:17:34.611Z\"" 
    }}}}, :level=>:warn} 

Мой стандартный вывод выглядит следующим образом:

console output

Я просто потерял. Как я могу вставить данные из файла csv в Elasticsearch.

ответ

0

Решил сам. Elasticsearch жалуется на дату, потому что она не распознает дату правильно. Итак, я полностью удалил отображение из Elasticsearch через плагин Kopf.

Я повторно добавил .json, включая следующие данные. (Обратите внимание на формат)

"mappings": { 
     "logs": { 
     "properties": { 
      "@timestamp": { 
       "type": "date", 
      "format" : "strict_date_optional_time||epoch_millis" 

Он работает сейчас. Huray