廢話:最近開發的系統使用elasticsearch來存儲日志,今早發現elasticsearch中存放日志的索引入庫不了新產生的日志,也不能清空索引日志。在官網找了半天才發現問題所在。
原因:當存儲空間使用超過95%時,elasticsearch會將索引設置為只讀模式,所以新產生的日志不能入庫,也不能清除。
解決:首先肯定要先解決磁盤空間問題,這個根據自己的情況去刪除磁盤上的無用數據,這個就不多說了;磁盤清理好以后,需要去更改elasticsearch索引配置,將read only 狀態改為false,才能正常入庫日志。
有幾種方法可以更改索引狀態,我是通過kibana更改的(當然前提是kibana和elasticsearch已經配置好,可以通過kibana查看索引信息):
1.打開kibana,在左側菜單欄找到Management,點擊進入;
2.打開后可以看到kibana和elaticsearch管理入口,點擊elasticsearch下的Index Management進入;
3.找到要更改的索引,點擊,
右側會彈出索引管理;
4.點擊settings,可以看到索引的配置信息,在前10行可以找到一行:"read_only_allow_delete": "true" ,只需要把true改為false即可。
5.點擊 Edit settings,找到"read_only_allow_delete": "true",將true改為false,
點擊保存就可以了。