线上部署了ELK日志分析平台环境, 随着各类日志数据源源不断的收集, 发现过了一段时间之后, ELK查看会原来越慢,内存使用也越来越高 重启elasticsearch服务器节点之前同步时间也会很长, 这是因为长期以来ELK收集的索引没有删除引起的! 以下是ELK批量删除索引的操作记录:
[root@elk-node01 ~]# curl -XGET 'http://10.22.86.129:9200/_cat/shards'
删除索引的命令
[root@elk-node01 ~]# curl -XDELETE http://10.22.86.129:9200/索引名
还可以根据需求,过滤出想要查看的索引,比如查看2018.08.02并且是10.22.86.129的索引
[root@elk-node01 ~]# curl -XGET 'http://10.22.86.129:9200/_cat/shards' |grep "2018\.08\.02" |grep "10.22.86.129"|awk '{print $1}'
- 可以先将要删除的索引查看出来存到临时文件里, 然后进行批量删除 (索引多的话, 删除操作会耗费一点时间) 比如批量删除所有的索引(但不会删除kibana.yml文件中配置的kibana.index索引,就是那些带.的索引) (cat /root/elk-index.tmp|wc -l 可以查看要删除的索引有多少个)
[root@elk-node01 ~]# curl -u elastic:Elk@123 -XGET 'http://127.0.0.1:9200/_cat/shards' | grep -E 'test|uat' | awk '{print $1}' | uniq > /data/scripts/