ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Elasticsearch 索引清理操作

2022-06-28 14:02:32  阅读:206  来源: 互联网

标签:10.0 8.44 index 清理 索引 Elasticsearch elk root


线上部署了ELK+Redis日志分析平台环境, 随着各类日志数据源源不断的收集, 发现过了一段时间之后, ELK查看会原来越慢, 重启elasticsearch服务器节点之前同步时间也会很长, 这是因为长期以来ELK收集的索引没有删除引起的! 以下是ELK批量删除索引的操作记录:

1、 访问head插件(http://10.0.8.44:9200/_plugin/head/) 或者在elasticsearch节点上使用下面命令查看elk的索引(10.0.8.44是elk集群中的任意一个节点)

[root@elk-node01 ~]# curl -XGET 'http://10.0.8.44:9200/_cat/shards'              
删除索引的命令
[root@elk-node01 ~]# curl -XDELETE  http://10.0.8.44:9200/索引名
还可以根据需求,过滤出想要查看的索引,比如查看2018.08.02并且是10.0.52.22的索引
[root@elk-node01 ~]# curl -XGET 'http://10.0.8.44:9200/_cat/shards'  |grep "2018\.08\.02" |grep "10.0.52.22"|awk '{print $1}'
  1. 可以先将要删除的索引查看出来存到临时文件里, 然后进行批量删除 (索引多的话, 删除操作会耗费一点时间)

比如批量删除所有的索引(但不会删除kibana.yml文件中配置的kibana.index索引,就是那些带.的索引) (cat /root/elk-index.tmp|wc -l 可以查看要删除的索引有多少个)

[root@elk-node01 ~]# curl -XGET 'http://10.0.8.44:9200/_cat/shards'|awk '{print $1}'|uniq > /root/elk-index.tmp
[root@elk-node01 ~]# for i in $(cat /root/elk-index.tmp);do curl -XDELETE  http://10.0.8.44:9200/$i;done
  1. 为了方便可以在计划任务里面加定时任务删除30天之前的日志索引 (这里线上elk的索引名中带当天的日期, 日期格式为%Y.%m.%d. 具体看自己的索引命名规则)
[root@elk-node01 ~]# vim /home/scripts/del_elasticseatch_index.sh
#!/bin/bash
#The index 30 days ago
curl -XGET 'http://10.0.8.44:9200/_cat/shards' |awk '{print $1}' |grep `date -d "30 days ago" +%Y.%m.%d` |uniq > /tmp/index_name.tmp
 
for index_name in `cat /tmp/index_name.tmp` 
do
    curl -XDELETE  http://10.0.8.44:9200/$index_name
    echo "${index_name} delete success" >> /home/scripts/del_elasticseatch_index.log
done
 
[root@elk-node01 ~]# crontab -l
0 3 * * * bash /home/scripts/del_elasticseatch_index.sh
上述脚本执行之后, 访问http://10.0.8.44:9200/_plugin/head/ ,就会发现,ELK索引已被批量删除了.

标签:10.0,8.44,index,清理,索引,Elasticsearch,elk,root
来源: https://www.cnblogs.com/Mr-Wei/p/16419206.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有