При отправке событий в ElasticSearch или OpenSearch, в ответе от сервера может возникать ошибка: "failed to parse field [@timestamp] of type [date]"
Полный текст ошибки
1 | failed to parse field [@timestamp] of type [date] in document with id 'b4f9628d-1ee2-46bf-8238-d2eea7239a83'. Preview of field's value: '2024-05-15T12:42:24.323Z '\",\"caused_by\":{\"caused_by\":{\"reason\":\"Failed to parse with all enclosed parsers\",\"type\":\"date_time_parse_exception\"},\"reason\":\"failed to parse date field [2024-05-15T12:42:24.323Z ] with format [strict_date_optional_time||epoch_millis]\",\"type\":\"illegal_argument_exception\" |
Причины возникновения:
- Метка времени не соответствует мапингу определенном в индексе. В примере выше принимаемый формат strict_date_optional_time или epoch_millis
- В поле со временем ошибка в данных. В примере выше, после метки времени присутствует пробел.
Варианты решения
- Изменить мапинг полей со времени (Формат даты Elasticsearch)
- Проверить корректность передаваемых данных
- Обеспечить дополнительную обработку
- Реализовать trim (удаление пробелов) в метках времени
- Обеспечить вадилацию временных полей (ударит по производительности)
- Обеспечить конвертацию всех временных меток в strict_date_optional_time