今天生产环境日志在早八点突发断流,影响到线上业务的监控和故障排查。
登陆Kibana后发现有unassigned shards告警,结合服务器上收到的磁盘空间告警信息,猜测是由于磁盘空间不足导致写入失败且超过了最大重试次数。
定位到出现问题的索引之后,可直接使用explain接口查看分配失败的原因:
GET _cluster/allocation/explain
{
"index": "index_name",
"shard": 0,
"primary": true
}
"deciders"."explaination" 中的信息即为分配失败的原因,对症下药即可。
在针对性处理好失败原因后,需要手动让ES进行重试:
POST /_cluster/reroute?retry_failed=true
如果之前对症下的药正确,即可看到集群恢复正常了。