ELK批量删除索引

  • A+
所属分类:ELK日志系统

由于日志量过大,ElasticSearch没做集群,索引长时间不清理,性能越来越差。

参考:

https://www.cnblogs.com/xiewenming/p/7275283.html

获取索引

/usr/bin/curl -XGET 'http://192.168.0.233:9200/_cat/shards'

过滤需要删除的索引

/usr/bin/curl -XGET 'http://192.168.0.233:9200/_cat/shards'|awk '{print $1}' |grep `date -d "7 days ago" +%Y.%m.%d` |uniq > /tmp/index_name.tmp

定义脚本,删除7天前的日志索引

[root@ELK ~]# vim /scripts/del_elasticseatch_index.sh 
#!/bin/bash
/usr/bin/curl -XGET 'http://192.168.0.233:9200/_cat/shards'|awk '{print $1}' |grep `date -d "7 days ago" +%Y.%m.%d` |uniq > /tmp/index_name.tmp


for index_name in `cat /tmp/index_name.tmp`
do
    /usr/bin/curl -XDELETE  http://192.168.0.233:9200/$index_name
    echo "${index_name} delete success" >> /tmp/del_elasticseatch_index.log

done

配置crontab

#Delete Elasticsearch Index
0 2 * * * /usr/bin/sh /scripts/del_elasticseatch_index.sh >/dev/null 2>&1

可以在WEB ElasticSearch插件查看当前索引

http://192.168.0.233:9100/

YaLei

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: