很傻X的一个问题,但是还是要把他记录下来
logstash导入到es中,发现丢失数据,查看logstash日志发现是转还日期问题

日志转换异常,导致数据导入不到索引中,也不会出现_grokparsefailure,导致数据丢失,所以我配置的错误日志日志文件中不存在该错误日志, 我用动态模板都把他设置成string类型(es为2.x.x),match:"*",不知道为什么他有变成date类型了,绝望了。

按道理应该被设置为string类型但是鬼知道怎么又变成date类型,既然为date类型,那么这种(2019-03-04 02:28:46.998 UTC)日期格式打死也不符合要求的,所以他就存不进去

我最后指定该字段为string类型看看效果。他还傻乎乎的转换为上图转换为了日期类型,时间格式太巧了,自定义的字段格式有2019-03-04T10:30:06.553Z,这样的日期格式恰好es自动转换为date类型,就算你指定了为string类型也没用,因为它开着呢,"date_detection": true,默认为true,date_detection设为开启(默认为true),他会将符合es的date类型的string类型自动转为date类型。
探讨Logstash导入Elasticsearch过程中数据丢失的问题,分析日期格式转换异常导致的数据导入失败,深入研究ES的date_detection特性及其对数据类型的影响。
966

被折叠的 条评论
为什么被折叠?



