elk报错信息显示如下内容:
[WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"182-api-access.log-2020.09.14", :_type=>"_doc", :routing=>nil}, #<LogStash::Event:0xb01a061>], :response=>{"index"=>{"_index"=>"182-api-access.log-2020.09.14", "_type"=>"_doc", "_id"=>nil, "status"=>400, "error"=>{"type"=>"validation_exception", "reason"=>"Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [1000]/[1000] maximum shards open;"}}}}
出现问题原因是:
elasticsearch7版本以上的,默认只允许1000个分片,因为集群分片数不足引起的。
解决方法:
永久生效:
curl -XPUT -H "Content-Type:application/json" -d '{"transient":{"cluster":{"max_shards_per_node":10000}}}' 'http://192.168.0.217:9200/_cluster/settings'
临时设置:
在kibana的tools中临时设置: