弹性搜索日志中没有数据被解析+异常

时间:2015-10-20 19:31:32

标签: elasticsearch logstash kibana faceted-search logstash-grok


首先请原谅我,因为我不是这项服务的所有者(但是)

我们正在使用ELK(Elasticsearch(1.4.2)/ Logstash / Kibana - 我们使用单个分片,因此没有副本)来解析我们的日志并根据Kibana中的某些过滤器显示图表。

在过去两周内,我们发现由于某些原因,图表上没有显示新数据,除了每天关闭服务器外,服务器上没有进行任何更改。

弹性研究指数是每天创建的 日志的输入是通过redis进行的,实际上我看到redis和新日志中的活动一直在进行。

在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$5.call(SearchServiceTransportAction.java:231)
        at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:228)
        at org.elasticsearch.search.action.SearchServiceTransportAction$23.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日的索引和今天的索引的映射,并且它们有不同的映射。
这可能与其中一个停机相关吗?我不确定它为什么会发生变化(没有人在服务器上做任何工作)

假设这是问题所在,我有办法:

  1. 恢复旧映射,以便使用正确的映射创建未来的索引吗?
  2. 更改现有索引的映射(关闭不是问题),使数据可以再次搜索?
  3. 我不确定我是否提供了所有必需的信息,如果需要更多信息请告诉我 提前谢谢,

    MENY

1 个答案:

答案 0 :(得分:0)

您正在针对不包含您引用的字段的索引运行查询。

您可以在弹性搜索中ignore the unmapped fields,或者在kibana查询中使用 exists