没有数据被解析 + elasticsearch 日志中的异常
No data is being parsed + exception in elasticsearch logs
如果我听起来完全是个新手,请原谅我,因为我还不是这项服务的所有者(还)
我们使用 ELK(Elasticsearch (1.4.2)/Logstash/Kibana - 我们使用单个分片,因此没有副本)来解析我们的日志并根据 Kibana 中的一些过滤器显示图表。
在过去的 2 周里,我们看到由于某种原因没有新数据显示在图表上,除了每天关闭服务器之外没有对服务器进行任何更改。
elasticsearch 索引是每天创建的。
日志的输入是通过redis的,确实我在redis中看到activity并且一直有新日志进来。
在 logstash.log 我看到了以下异常:
[2015-10-20 04:39:49,462][DEBUG][action.search.type ] [shard1] [logstash-2015.10.15][2], node[G5aAjTSEQCiX5JXlmSx8ng], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@25f6008c] lastShard [true]
org.elasticsearch.search.SearchParseException: [logstash-2015.10.15][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"facets":{"terms":{"terms_stats":{"value_field":"acked_contacts_","key_field":"customer_name","size":10,"order":"count"},"facet_filter":{"fquery":{"query":{"filtered":{"query":{"bool":{"should":[{"query_string":{"query":"(action:BULK_RECEIVER) AND ( result:SUCCESS or result:FAILURE OR result:Success OR result:Failed)"}}]}},"filter":{"bool":{"must":[{"range":{"@timestamp":{"from":1444711190919,"to":1445315990919}}}]}}}}}}}},"size":0}]]
at org.elasticsearch.search.SearchService.parseSource(SearchService.java:681)
at org.elasticsearch.search.SearchService.createContext(SearchService.java:537)
at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:509)
at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:264)
at org.elasticsearch.search.action.SearchServiceTransportAction.call(SearchServiceTransportAction.java:231)
at org.elasticsearch.search.action.SearchServiceTransportAction.call(SearchServiceTransportAction.java:228)
at org.elasticsearch.search.action.SearchServiceTransportAction.run(SearchServiceTransportAction.java:559)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.elasticsearch.search.facet.FacetPhaseExecutionException: Facet [terms]: failed to find mapping for acked_contacts_
正如我所说,我不是这里的专家,但我比较了 10 月 1 日的索引映射和今天的索引,它们有不同的映射。
这可能与其中一次停机有关吗?我不确定它为什么会发生变化(没有人在服务器上做任何工作)
假设这是问题所在,我有办法:
- 恢复旧映射,以便将来使用正确的索引创建索引?
- 更改现有索引的映射(关闭不是问题),使数据再次可搜索?
我不确定我是否提供了所有必需的信息,如果需要更多信息请告诉我
提前致谢,
梅尼
您运行查询的索引不包含您正在引用的字段。
您可以在 elasticsearch 中 ignore the unmapped fields,或者在您的 kibana 查询中使用 exists。
如果我听起来完全是个新手,请原谅我,因为我还不是这项服务的所有者(还)
我们使用 ELK(Elasticsearch (1.4.2)/Logstash/Kibana - 我们使用单个分片,因此没有副本)来解析我们的日志并根据 Kibana 中的一些过滤器显示图表。
在过去的 2 周里,我们看到由于某种原因没有新数据显示在图表上,除了每天关闭服务器之外没有对服务器进行任何更改。
elasticsearch 索引是每天创建的。
日志的输入是通过redis的,确实我在redis中看到activity并且一直有新日志进来。
在 logstash.log 我看到了以下异常:
[2015-10-20 04:39:49,462][DEBUG][action.search.type ] [shard1] [logstash-2015.10.15][2], node[G5aAjTSEQCiX5JXlmSx8ng], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@25f6008c] lastShard [true]
org.elasticsearch.search.SearchParseException: [logstash-2015.10.15][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"facets":{"terms":{"terms_stats":{"value_field":"acked_contacts_","key_field":"customer_name","size":10,"order":"count"},"facet_filter":{"fquery":{"query":{"filtered":{"query":{"bool":{"should":[{"query_string":{"query":"(action:BULK_RECEIVER) AND ( result:SUCCESS or result:FAILURE OR result:Success OR result:Failed)"}}]}},"filter":{"bool":{"must":[{"range":{"@timestamp":{"from":1444711190919,"to":1445315990919}}}]}}}}}}}},"size":0}]]
at org.elasticsearch.search.SearchService.parseSource(SearchService.java:681)
at org.elasticsearch.search.SearchService.createContext(SearchService.java:537)
at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:509)
at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:264)
at org.elasticsearch.search.action.SearchServiceTransportAction.call(SearchServiceTransportAction.java:231)
at org.elasticsearch.search.action.SearchServiceTransportAction.call(SearchServiceTransportAction.java:228)
at org.elasticsearch.search.action.SearchServiceTransportAction.run(SearchServiceTransportAction.java:559)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.elasticsearch.search.facet.FacetPhaseExecutionException: Facet [terms]: failed to find mapping for acked_contacts_
正如我所说,我不是这里的专家,但我比较了 10 月 1 日的索引映射和今天的索引,它们有不同的映射。
这可能与其中一次停机有关吗?我不确定它为什么会发生变化(没有人在服务器上做任何工作)
假设这是问题所在,我有办法:
- 恢复旧映射,以便将来使用正确的索引创建索引?
- 更改现有索引的映射(关闭不是问题),使数据再次可搜索?
我不确定我是否提供了所有必需的信息,如果需要更多信息请告诉我
提前致谢,
梅尼
您运行查询的索引不包含您正在引用的字段。
您可以在 elasticsearch 中 ignore the unmapped fields,或者在您的 kibana 查询中使用 exists。