elasticsearch - MapperParsingException [无法解析[timestamp]];嵌套:IllegalArgumentException [无效格式:

标签 elasticsearch logstash elastic-stack

我已经建立了一个基本的ELK堆栈,用于处理和显示apache日志。它在过去1个月内一直在工作,但是从最近两天开始突然出现, flex 搜索引发了以下错误。

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
基巴纳-4.5

最佳答案

您的格式不符合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代码来创建与Elastic Search中“ClickTime”的类型和格式匹配的时间对象:
$curtime = date_create();
$kibanadate = date_format($curtime,"Y-m-d H:i:s"); 

关于elasticsearch - MapperParsingException [无法解析[timestamp]];嵌套:IllegalArgumentException [无效格式:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408290/

相关文章:

search - ElasticSearch - 搜索人名

elasticsearch - 如何确定我的 Elasticsearch 服务器的内存需求

elasticsearch - ELK堆栈-未正确安装Logstash

elasticsearch - 在Grok Debugger Kibana中获取日志字段

xml - Logstash XML解析失败

elasticsearch - 带有 elasticsearch-rest-client-7.2.0 的间歇性 SocketTimeoutException

elasticsearch - Elasticsearch 中的大小参数

java - 未找到 JNA。 native 方法将被禁用。 java.lang.ClassNotFoundException : com. sun.jna.Native 异常

elasticsearch - 为什么这些字段属于我的索引模板中未定义的elasticsearch?

elasticsearch - logstash dns 过滤器中的 hit_cache_size 如何工作?