由于ELK自身么有集成索引管理的功能,以至于时间推移,日志索引堆积,所以需要定期删除无用索引

    1.写脚本

    1. #!/bin/bash
    2. #删除ELK30天前的日志
    3. DATE=`date -d "30 days ago" +%Y.%m.%d`
    4. curl -XGET -s -u elastic:situ1234 'http://127.0.0.1:9200/_cat/indices?v' |grep $DATE | awk -F '[ ]+' '{print $3}' >/tmp/elk.log
    5. for elk in `cat /tmp/elk.log`
    6. do
    7. curl -XDELETE -u elastic:situ1234 "http://127.0.0.1:9200/$elk"
    8. done

    2.加入计划任务
    # crontab -l
    #每天凌晨1点定时删除索引

    1. 00 01 * * * bash /usr/local/elasticsearch/elk_cron.sh &>/dev/nul