错误:index_not_found_exception

时间:2017-01-23 11:04:57

标签: elasticsearch logstash kibana

我使用ELK堆栈来分析我的日志文件。我上周已经测试过,一切正常。

今天,我测试了但是当我输入“http://localhost:9200/iot_log/_count”(iot_log是我的索引模式)时出现此错误:

  

{ “错误”:{ “ROOT_CAUSE”:[{ “类型”: “index_not_found_exception”, “理由”:“无   这样   指数 “ ”resource.type“: ”index_or_alias“, ”resource.id“: ”iot_log“, ”index_uuid“: ” NA “, ”索引“: ”iot_log“}],” 类型“:”index_not_found_exception“,”reason“:”没有这样的   指数”, “resource.type”: “index_or_alias”, “resource.id”: “iot_log”, “index_uuid”: “ NA ”, “索引”: “iot_log”}, “状态” :404}

我真的在论坛上搜索过但我还没有找到解决方案,我想知道这个问题的原因是什么,我该怎么纠正呢?

4 个答案:

答案 0 :(得分:11)

确保索引iot_log存在,如果不存在,则create it

curl -X PUT "localhost:9200/iot_log" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'

答案 1 :(得分:3)

您需要在action.auto_create_index文件中设置elasticsearch.yml参数。

示例:

action.auto_create_index: -l*,+z*

使用这种配置,将自动创建以“z”开头的索引,而不会以“l”开头的索引。

答案 2 :(得分:0)

在我的情况下,我的所有数据在弹性搜索中自动删除,在弹性搜索中再次导入数据后,我的应用程序运行正常。

答案 3 :(得分:0)

使用以下设置解决问题的最佳方法

允许自动创建YourIndexName和index10,并且不允许任何与index1 *相匹配的索引名称以及与ind *相匹配的任何其他索引。模式按照给定的顺序进行匹配。

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'{
    "persistent": {
        "action.auto_create_index": "YourIndexName,index10,-index1*,+ind*" 
    }
}'

停止任何自动索引

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'{
    "persistent": {
        "action.auto_create_index": "false" 
    }
}'

允许任何索引自动创建

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'{
    "persistent": {
        "action.auto_create_index": "true" 
    }
}'
```