首页 > 解决方案 > {"type":"mapper_parsing_exception","re​​ason":"解析字段失败 [user_agent.version]

问题描述

我通过 filebeat -> elastic search -> Kibana 发送 Nginx 日志。但是已经有一些日志的问题。

看起来这种类型的日志正在解析没有任何问题:

66.249.76.123 - - [24/Apr/2020:17:24:51 +0200] "GET / HTTP/1.1" 200 5249 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.​​1; + http://www.google.com/bot.html )"

但另一方面类似的日志:

62.197.243.55 - - [24/Apr/2020:17:29:22 +0200] "GET / HTTP/1.1" 200 5252 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML , 像壁虎) Chrome/80.0.3987.163 Safari/537.36"

向系统日志抛出错误 -

无法解析 ID 为“ZJ_OrHEBZWkJKYxN4WlY”的文档中类型为 [date] 的字段 [user_agent.version]。字段值预览:'80.0.3987.163'","caused_by":{"type":"illegal_argument_exception","re​​ason":"未能解析日期字段 [80.0.3987.163] 格式为 [strict_date_optional_time||epoch_millis]", "caused_by":{"type":"date_time_parse_exception","re​​ason":"使用所有封闭的解析器解析失败"}}} 无法解析 ID 为“ZJ_OrHEBZWkJKYxN4WlY”的文档中类型为 [date] 的字段 [user_agent.version]。字段值预览:'80.0.3987.163'","caused_by":{"type":"illegal_argument_exception","re​​ason":"未能解析日期字段 [80.0.3987.163] 格式为 [strict_date_optional_time||epoch_millis]", "caused_by":{"type":"date_time_parse_exception","re​​ason":"使用所有封闭的解析器解析失败"}}}

问题开始:

{"type":"mapper_parsing_exception","re​​ason":"在 ID 为 'ZJ_OrHEBZWkJKYxN4WlY' 的文档中解析类型为 [date] 的字段 [user_agent.version] 失败。字段值预览:'80.0.3987.163'","caused_by ":{"type":"illegal_argument_exception","re​​ason":"无法解析格式为 [strict_date_optional_time||epoch_millis] 的日期字段 [80.0.3987.163]","caused_by":{"type":"date_time_parse_exception","原因":"使用所有封闭的解析器解析失败"}}}

知道为什么我的 99% 的日志都运行良好,但使用 chrome 键入:“(KHTML,如 Gecko)Chrome/” - 解析有问题,无法解析字段 [user_agent.version]

使用 Filebeat/Elasticsearch/Kibana - 版本 7.6.2

谢谢指教

标签: elasticsearchnginxfilebeat

解决方案


您是使用标准 Filebeat 模板还是使用自己的模板?

我遇到了同样的问题,因为我使用的是自己的模板,该模板没有定义“user_agent”字段。我通过从 Filebeat 模板复制它们来添加它们,目前它没有给我任何问题。


推荐阅读