MapperParsingException [не удалось проанализировать [метку времени]]; вложено: IllegalArgumentException [Недействительный формат:

Я установил базовый стек ELK для обработки и отображения журналов apache. Он работал в течение последнего месяца, но внезапно за последние два дня эластичный поиск выдает ошибку, указанную ниже.

MapperParsingException[failed to parse [timestamp]]; nested: IllegalArgumentException[Invalid format:"16/Jul/2016:05:31:27 +0000" is malformed at "/Jul/2016:05:31:27 +0000"];

Это настройка по умолчанию, и я не вносил никаких изменений в elasticsearch. Индексы создаются по дате, что является поведением по умолчанию при настройке ELK.

Если я остановлю logstash, затем удалю индекс с именем logstash-2016.07.16 и запустил logstash, он будет работать нормально в течение дня. На следующий день он выдаст ту же ошибку при создании нового индекса (logstash-2016.07.17).

Версии: Logstash - 2.3.2 Elasticsearch - 2.3.2 Kibana - 4.5


person user3703676    schedule 16.07.2016    source источник


Ответы (1)


Ваш формат не соответствует встроенным форматам Elastic Search 2.3! См. «Встроенные форматы» в разделе https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html

Я столкнулся с точно такой же проблемой! Но я настроил формат моего объекта времени PHP, чтобы он соответствовал Elastic Search Mapping!

Команда Curl для создания сопоставления для поля ClickTime в стандартном формате:

curl -XPUT localhost:9200/telemetry/_mapping/DashBoardVisits?
pretty -d "{\"properties\" : {\"ClickTime\" : {\"type\" :\"date\" , \"format\" :
 \"yyyy-MM-dd HH:mm:ss\" }}}"

Код PHP для создания объекта времени, соответствующего типу и формату ClickTime в эластичном поиске:

$curtime = date_create();
$kibanadate = date_format($curtime,"Y-m-d H:i:s"); 
person Prasath Govind    schedule 22.08.2016